AngularJS验证无效

时间:2015-08-06 06:34:58

标签: angularjs

我是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>

3 个答案:

答案 0 :(得分:0)

从表单中删除novalidate

您在表单开头有novalidate,这会禁用浏览器的原生表单验证。

  

请注意,novalidate用于禁用浏览器的原生表单   验证

请参阅HTML 'form' novalidate AttributeAngular Forms

答案 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;
    };