如何强制用户向Angular输入提供值



使用Angular设计一个有3个输入的表单(基于Scotch)。IO教程(Node+Express+Angular)。我希望用户在提交表单之前强制为每个输入选择值。如果他没有,那么我想显示一个错误信息。

<form>
    <div class="form-group">
        Start Date: <input type="date" class="form-control input-lg text-center" ng-model="formData.fromDate" placeholder="yyyy-MM-dd">
    </div>
    <div class="form-group">
        End Date: <input type="date" class="form-control input-lg text-center" ng-model="formData.toDate" placeholder="yyyy-MM-dd">
    </div>
    <div class="form-group">
        Report Type: <select class="form-control input-lg text-center" ng-model="formData.reportType">
            <option value="csv">CSV</option>
            <option value="pdf">PDF</option>
        </select>
    </div>
    <button type="submit" class="btn btn-primary btn-lg" ng-click="findStat()">Add</button>
</form>

换句话说,我不想传递'未定义'值回我的Node.js代码。我试过使用'required'选项,这并不能阻止未定义的值被传递回来。

给你的表单起一个名字:

<form name="myForm">

也给你的输入一个名称,并添加有效性约束(必需的,等等):

<input type="date" name="date" ...

然后在您的findStat()函数中,您可以访问表单并检查它是否有效:

$scope.findStat = function() {
    if ($scope.myForm.$invalid) {
        $scope.displayError = true;
    }
    else {
        $scope.displayError = false;
        ...
    }
}

详情请参阅http://code.angularjs.org/1.2.15/docs/api/ng/directive/form和http://code.angularjs.org/1.2.15/docs/api/ng/type/form.FormController

相关内容

  • 没有找到相关文章

最新更新