我很想了解如何使用 JQuery Validator 在 submitHandler 的上下文中从一个视图导航到另一个视图。我目前在做的大致是,
class Example.ViewOne extends Backbone.View
template: JST['view_one']
render: ->
@$el.html(template())
@$('form').validate(@.validators)
this
validators:
rules:
name:
required: true
submitHandler: (form) ->
view = new Example.ViewTwo()
view.render()
return false
class Example.ViewTwo extends Backbone.View
template: JST['view_two']
render: ->
@$el.html(@template())
this
class ExampleRouter extends Backbone.Router
routes:
'' : 'index'
index:
view = new Example.ViewOne()
$('#container').html(view.render().el)
托管页面:
...
<div id="container"></div>
....
视图一:
...
<h1>View One</h1>
<form>
<input type="text" name="name" />
<button type="submit" />
</form>
...
视图二:
...
<h1>View Two</h1>
...
当我在 ViewOne 上点击提交时会发生什么,帖子触发并重新渲染 ViewOne。我想渲染 ViewTwo 并且不发布帖子。我必须使用 JQuery Validator,据我所知,它需要一个表单标签,因此摆脱表单标签对我来说不是一个解决方案。
此外,我知道在视图中控制工作流并不是理想的方式,但我现在专注于让一些简单的工作变得简单,并且随着我对 Backbone 越来越熟悉,肯定会计划研究更强大的解决方案。