我是AngularJS的新手;有人可以帮助我为什么下面的代码没有验证表格?
<form name="reviewForm" ng-controller="ReviewController as reviewCtrl" ng-submit="reviewCtrl.addReview(product);" novalidate>
<select ng-model="reviewCtrl.review.stars" required>
<option value="">Rate the Product</option>
<option value="1">1 Star</option>
<option value="2">2 Star</option>
</select>
<textarea ng-model="reviewCtrl.review.body"></textarea>
<input type="email" ng-model="reviewCtrl.review.author" required/>
<div>ReviewForm is: {{reviewForm.$valid}}</div>
<input type="submit" value="Submit" />
</form>
答案 0 :(得分:0)
从表单中删除novalidate
。
您在表单开头有novalidate
,这会禁用浏览器的原生表单验证。
请注意,
novalidate
用于禁用浏览器的原生表单 验证
答案 1 :(得分:0)
@Milton我认为您的代码没有问题,我创建了一个plunkr,它也表明您的代码没有任何问题。 这是我写的代码。
'Picker'
以下是代码的plunkr链接:
split
如果问题仍然存在,您能否提供有关您输入数据的更多说明?
答案 2 :(得分:0)
第一步:从表单中删除novalidate
并添加提交按钮,如下所示:
<input type="submit" value="Submit" ng-disabled="isFormValid(reviewForm) />
和你的.js:
$rootScope.isFormValid = function (form) {
return form.$invalid;
};