我有一个带有错误字段的表单。代码如下:
<form name="myform" ng-submit="submit">
<input name="text" ng-model="username" required>
<div ng-messages="myform.username.$error">
<div ng-message="required">Field is required</div>
<div ng-message="has_spaces">Field must not contain spaces</div>
</div>
</form>
&#13;
我的ngMessages如何正确运作的逻辑?我尝试设置&#34; has_spaces&#34;表单提交后但没有任何效果。
答案 0 :(得分:1)
您的代码段是正确的,但您需要通过name
属性和不 ng-model
的值来访问您希望获取错误的表单元素。即,您应该访问myform.username.$error
,而不是访问myform.text.$error
。这段代码应该可以胜任:
<form name="myform" ng-submit="submit">
<input name="text" ng-model="username" required>
<div ng-messages="myform.text.$error">
<div ng-message="required">Field is required</div>
<div ng-message="has_spaces">Field must not contain spaces</div>
</div>
</form>
答案 1 :(得分:0)
问题是
我已经在下面更正了,请尝试使用
<form name="myform" ng-submit="submit">
<input name="username" type="text" ng-model="user.name" required>
<div ng-messages="myform.username.$error">
<div ng-message="required">Field is required</div>
<div ng-message="has_spaces">Field must not contain spaces</div>
</div>
</form>
答案 2 :(得分:0)
在角度使用ng-message, ng-maxlength, ng-minlength
或任何类型的验证时,使用name属性而不是ng-model。因此,在您的代码中,您必须使用ng-messages = "myform.text.$error"
。