使用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