我无法在AngularJS表单验证中找到错误。
JavaScript的:
sidemenu.controller('galleryCtrl', ['$scope', '$rootScope', 'PropertyDetails', '$window', '$location', '$routeParams', 'allServices', 'customVariables', '$mdDialog', function (a, b, p, $window, l, r, e, cust, md) {
var vm = this;
a.imageSlide = true;
vm.user = {
first_name: "",
email_id: "",
selected_id: "",
phone: ""
};
}]);
HTML:
<form name="register_form" novalidate="">
<div class="form-group">
<label>firstName{{register_form.first_name.$pristine}}</label>
<input type="text" name="first_name" placeholder="First Name" ng-model="user.first_name" ng-required="true">
<p ng-show="register_form.user_first_name.$invalid && !register_form.user_first_name.$pristine" class="help-block">You name is required.</p>
</div>
<div class="col-xs-12">
<button type="button" ng-disabled="((!user.phone) || (!user.selected_id))" ng-click="vm.raiseEnquiry(user,selected_id)" class="sell-btn btn-action btn btn-block hpl-btn btn-default">Raise Enquiry</button>
</div>
</form>
我正在尝试在上面的html代码中打印这一行是{{register_form.first_name.$pristine}}
而不是打印任何东西。所以我无法找到这个中的错误。
答案 0 :(得分:1)
有一种更简单的解决方案可以找到表单错误。您只需添加到您的HTML代码:
<p>{{ register_form.$error }}<p>
其次,你不应该使用$invalid
作为名字输入,但你应该使用register_form.user_first_name.$error.required
。
您还可以阅读角形表的文档 https://docs.angularjs.org/guide/forms
希望它有所帮助!
溴
答案 1 :(得分:1)
您的数据绑定存在一些问题。
您应该修改ng-model
中的input
以匹配模型
你的Controller
。你的ng-model="user.first_name"
就是{。}}
HTML
在控制器中有一个名为vm.user
的对象。
所以你应该改变:
ng-model="user.first_name"
要:
ng-model="vm.user.first_name"
第二个问题是,您在name="first_name"
中使用input
,而稍后在邮件的register_form.user_first_name
中使用ng-show
提及ng-show="register_form.first_name.$invalid && !register_form.first_name.$pristine"
。 / p>
您应将其更改为:
HTML
要在input
中打印用户名,您应该引用模型对象而不是表单<label>firstName{{register_form.first_name.$pristine}}</label>
,因此您需要更改标签:
<label>firstName {{vm.user.first_name}}</label>
以下内容:
<property name="hibernate.cache.use_second_level_cache">false</property>
<property name="hibernate.cache.use_query_cache">false</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="cache.region_factory">org.hibernate.cache.impl.NoCachingRegionFactory</property>
答案 2 :(得分:1)
使用data-ng-model值进行更改
<p ng-show="register_form.first_name.$invalid && !register_form.first_name.$pristine" class="help-block">You name is required.</p>
你也应该把它data-ng-disabled="register_form.$invalid"