是否可以在bootstrap validator?
中手动将字段有效性设置为无效我在项目中使用角度js并希望使用日期范围验证。
“max-date”属性工作正常,除非我手动输入日期,这就是我想在控制器中重新验证字段并手动设置字段有效性的原因。
HTML:
<div class="form-group inputGroupContainer" ng-controller="DatepickerCtrl">
<label for="date">Date of Birth</label>
<p class="input-group">
<input type="text" name="date1" placeholder="DD/MM/YYYY" class="form-control" ui-date="{dateFormat: 'dd/MM/yyyy'}" ui-date-format="dd/MM/yyyy" datepicker-popup="{{format}}" ng-model="user.Personal.BirthDate" max-date="currentDate" is-open="opened" close-text="Close" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="open($event)"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</p>
</div>
angularjs控制器:
$scope.$watch('user.Personal.BirthDate', function (newValue, oldValue) {
if (newValue !== oldValue) {
if ($scope.user.Personal.BirthDate)
if ($scope.user.Personal.BirthDate.getTime() > new Date().getTime()) {
//set validity for "date1" to invalid
}
$($('#editPersonalForm')).bootstrapValidator('revalidateField', 'date1');
}
});
答案 0 :(得分:5)
此插件最近更改了名称 formValidation 和许可,但回到0.5.0这对我有用。
强制输入状态为INVALID
/**
* Update all validating results of field
*
* @param {String|jQuery} field The field name or field element
* @param {String} status The status. Can be 'NOT_VALIDATED', 'VALIDATING', 'INVALID' or 'VALID'
* @param {String} [validatorName] The validator name. If null, the method updates validity result for all validators
* @returns {BootstrapValidator}
*/
$('#editPersonalForm').data('bootstrapValidator').updateStatus('date1', 'INVALID', null)