【发布时间】:2012-09-26 22:16:02
【问题描述】:
我正在评估 AngularJS,到目前为止我对此非常感兴趣。但是在验证方面缺少一些东西:可用的选项,例如 built-in mechanisms 和 AngularUI initiative,通过指令实现验证器,因此,每个验证都应该在视图中声明:
<form ng-controller="SomeController">
<!-- Notice the 'required' attribute directive below: -->
<input type="text" ng-model="user.name" name="uName" required />
</form>
在本例中,视图定义了user.name 是必需的。这就像说视图定义了模型的正确形状。是不是有点倒退?视图不应该反映状态,包括错误状态吗?
我错了吗?我想知道是否可以在 controller 中应用任何验证器,指示模型的数据为有效/无效,并相应地更新视图(用红色绘制表单控件,显示错误消息,清除以前的错误等等)。我假设 AngularJS 足够强大,但在文档和示例中,到目前为止我还没有看到像我上面描述的那样。谢谢!
【问题讨论】:
-
required是一个 HTML5 属性。 html5doctor.com/html5-forms-introduction-and-new-attributes 您也可以将inputtype属性设置为email,tel,date,url,number之类的东西,它们会相应地进行验证。 -
另外,我从未使用过 AngularUI 验证,我只是使用 HTML5 的直接 AngularJS 验证,它工作得非常好。 AngularUI Validate 用于向字段添加自定义表达式验证。
标签: model-view-controller validation angularjs