Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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_Twitter Bootstrap - Fatal编程技术网

Javascript AngularJS中的验证无效

Javascript AngularJS中的验证无效,javascript,angularjs,twitter-bootstrap,Javascript,Angularjs,Twitter Bootstrap,我有一个表单,其中使用引导添加了两个文本字段。现在,我尝试为这两个字段添加AngularJs验证,但无法完成。下面是我对userId textfield的标记 <form role="form" name="Loginform" action="" method="post" class="registration-form"> <div class="form-group"> <label class="sr-only" for="User

我有一个表单,其中使用引导添加了两个文本字段。现在,我尝试为这两个字段添加AngularJs验证,但无法完成。下面是我对userId textfield的标记

    <form role="form" name="Loginform" action="" method="post" class="registration-form">
    <div class="form-group">
    <label class="sr-only" for="UserID">User ID</label>
    <input type="text" name="UserID" ng-model="user" placeholder="User ID..." class="form-first-name form-control" id="UserID" required>
    <span style="color:red" ng-show="Loginform.user.$dirty && myForm.user.$invalid">
    <span ng-show="Loginform.user.$error.required">Username is required.</span>
    </span>
    </div>
    </form>

用户ID
用户名是必需的。

请帮助我解决此问题..谢谢..

输入字段的名称是UserID而不是user

ng-show="Loginform.UserID.$error.required"

如果要验证一个或多个输入字段,最好的方法是创建一个控制器并调用它

函数Ctrl($scope){
$scope.isInvalid=函数(字段){
返回$scope.myForm[field]。$invalid&&$scope.myForm[field]。$dirty;
};
$scope.isValid=函数(字段){
返回$scope.myForm[field]。$valid&&$scope.myForm[field]。$dirty;
};
}

姓名:
名称是必需的

您能看到我更新了代码并做了一些更正吗


用户名是必需的。
这是因为您正在检查表单中不存在的属性
希望这能帮助您

您的输入名称与验证元素不正确对应

<form role="form" name="Loginform" action="" method="post" class="registration-form">
                        <div class="form-group">
                        <label class="sr-only" for="UserID">User ID</label>
                        <input type="text" name="UserID" ng-model="user" placeholder="User ID..." class="form-first-name form-control" id="UserID" required>
                        <span style="color:red" ng-show="Loginform.UserID.$touched && Loginform.UserID.$invalid">
                        <span ng-show="Loginform.UserID.$error.required">Username is required.</span>
                        </span>
                        </div>
                    </form>

用户ID
用户名是必需的。

Loginform.user.$dirty&&myForm.user.$invalid
两个检查的目标都不是同一个表单。哪里是
name=“user”
,哪里是用户名的输入字段?您有name=“UserID”和对
Loginform.user.$dirty
的验证,据我所知,它应该是
Loginform.UserID.$dirty
。只有代码的答案不是很有用。请给出答案,解释对代码所做的更改,以及他们回答问题的原因。此外,请解释此答案与其他答案的区别。
<form role="form" name="Loginform" action="" method="post" class="registration-form">
                        <div class="form-group">
                        <label class="sr-only" for="UserID">User ID</label>
                        <input type="text" name="UserID" ng-model="user" placeholder="User ID..." class="form-first-name form-control" id="UserID" required>
                        <span style="color:red" ng-show="Loginform.UserID.$touched && Loginform.UserID.$invalid">
                        <span ng-show="Loginform.UserID.$error.required">Username is required.</span>
                        </span>
                        </div>
                    </form>