使用$ touch和$ error进行表单验证

时间:2015-04-30 14:50:56

标签: javascript angularjs forms validation

我尝试使用AngularJS提供的built-in validation mechanisms来实现客户端验证。

我输入了perl类型的简单输入,如果使用email提交表单后,或者一旦控件使用{{1}失去焦点,则电子邮件无效时必须显示错误}}

$submitted

但是当我输入无效的电子邮件地址时,没有触发错误。 $touched可以正常工作,如果我删除所有其他条件,则会在触发后显示消息,但是当我需要访问特定字段(<form name="form" novalidate> <div class="form-group"> <label for="input-emailaddress">Adresse email</label> <input type="email" class="form-control" name="input-emailaddress" placeholder="Entrez votre email" ng-model="user.email" required="required"> <div ng-show="form.$submitted || form.input-emailaddress.$touched"> <div ng-show="form.input-emailaddress.$error.email">Please insert a valid email address.</div> </div> </div> </form> )时,验证无效。

有没有人可以帮我弄清楚为什么这不起作用?

1 个答案:

答案 0 :(得分:4)

当您使用.访问JSON对象时,您的变量不应包含-之类的任何字符,或者不应使用数字变量启动。您应该像form.input-emailaddress那样访问form["input-emailaddress"] 因为它包含名称中的连字符不起作用

<强>更新

根据@SunilD建议我们可以更改名称,不应该遵循这样的crieteria你可以使用cammel案例而不是这样做