Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs-表单验证-简化_Javascript_Angularjs - Fatal编程技术网

Javascript Angularjs-表单验证-简化

Javascript Angularjs-表单验证-简化,javascript,angularjs,Javascript,Angularjs,angularjs/javascript新手 所以我有很多验证代码,比如用户名、电子邮件、密码、姓名等等。有没有办法让它更干净,或者有一个模板,并将字段名作为参数传入??等等 <div class="error item-input" ng-show=" joinForm.username.$dirty && joinForm.username.$invalid && isLoginBlurred"> <s

angularjs/javascript新手

所以我有很多验证代码,比如用户名、电子邮件、密码、姓名等等。有没有办法让它更干净,或者有一个模板,并将字段名作为参数传入??等等

        <div class="error item-input" ng-show=" joinForm.username.$dirty && joinForm.username.$invalid && isLoginBlurred">
            <small ng-show="joinForm.username.$error.required"> Your username is required.</small>
            <small ng-show="joinForm.username.$error.minlength"> Your username is required to be at least 5 characters</small>
            <small ng-show="joinForm.username.$error.maxlength"> Your username cannot be longer than 20 characters </small>
        </div>

您的用户名是必需的。
您的用户名必须至少包含5个字符
您的用户名不能超过20个字符

您可以使用AngularJS的ngForm指令

<form name="signForm" ng-controller="FormController" novalidate>
<div ng-repeat="f in fields">
    <input type="text" name="{{f.name}}" ng-required="f.isRequired"/>
    <div ng-show="signForm[f.name].$dirty && signForm[f.name].$invalid">
        <span class="error" ng-show="signForm[f.name].$error.required">The field is required.</span>
    </div>
</div>
function FormController(scope) {
scope.fields = [
    { name: 'username', isRequired: true},
    { name: 'password', isRequired: true },
    { name: 'email', isRequired: false}
];