angularjs - AngularJS - 仅在一个字段大于另一个字段时验证
问题描述
我有两个输入字段,一个是 the From Year
,另一个是To Year
。To Year
仅当大于该From Year
值时,我才必须验证表单的提交按钮。
这是从年份的代码:
<div class="col-md-6 no-pad-right">
<label>Tenure From Year</label>
<input name="tenure_from_year" ng-model="joinFormData.tenureFromYear" name="tenure_from_year" class="form-control" placeholder="2014" type="text" ng-required="joinFormData.memberType == 'alumni'" ng-maxlength="4" ng-pattern="/(?:(?:19|20)[0-9]{2})/">
<span ng-show="joinForm.tenure_from_year.$error.pattern || joinForm.tenure_from_year.$error.maxlength">
<span class="red-color">Enter correct year!</span>
</span>
</div>
这是一年的代码:
<div class="col-md-6 no-pad-right">
<label>Tenure To Year</label>
<input name="tenure_to_year" ng-model="joinFormData.tenureToYear" name="tenure_to_year" class="form-control" placeholder="2014" type="text" ng-required="joinFormData.memberType == 'alumni'" ng-maxlength="4" ng-pattern="/(?:(?:19|20)[0-9]{2})/">
<span ng-show="joinForm.tenure_to_year.$error.pattern || joinForm.tenure_to_year.$error.maxlength">
<span class="red-color">Enter correct year! </span>
</span>
</div>
如果表单无效,则提交按钮被禁用
<button type="submit" class="btn btn-default btn-save-custom" ng-click="joinLeap()" ng-disabled="joinForm.$invalid" >Submit</button>
那么如何验证从和到年份字段,以便在年份有效时启用提交按钮。
解决方案
你可以使用手表。
$scope.validate = false;
$scope.$watch('joinFormData.tenureFromYear', function (newVal, oldVal) {
if (newVal > oldVal) {
$scope.validate = true;
} else {
$scope.validate = false;
}
});
推荐阅读
- javascript - 如何使用过滤器javascript删除数组值中的元素
- c++ - 有没有办法将 FLIR 专有 .seq 格式的图像转换为 .png?
- javascript - 在 Enzyme 中使用参数模拟处理程序方法
- python - 如何将出现在DataFrame中的所有特定字符串替换为Python中的另一个字符串
- javascript - 保存联系人后如何返回应用 - React Native - react-native-contacts
- css - 使用溢出时有一个奇怪的距离:隐藏
- ruby - 无法在 cmder 上使用 Ruby 开始编写简单的“Hello world”
- c# - 如何以编程方式在 PictureBox 中实现背景滚动?
- python - Python cron 作业与 Kapacitor UDF
- python - 丢弃不跟随特定字符的值