Qunit フレームワークを使用して邪魔にならない JavaScript クライアント検証の単体テスト ケースを作成する方法に関するリファレンスを探しています。
jQuery.validator.addMethod('requiredifnotempty',
function(value, element, parameters) {
var otherPropertyId = '#' + parameters['otherproperty'];
// get the actual value of the other control
var otherControl = $(otherPropertyId);
var controlType = otherControl.prop('type');
var otherValue = otherControl.val();
if (controlType === 'checkbox') {
otherValue = otherControl.prop("checked").toString();
}
if (otherValue.trim().length > 0) {
return $.validator.methods.required.call(this, value, element, parameters);
}
return true;
}
);
jQuery.validator.unobtrusive.adapters.add(
'requiredifnotempty',
['otherproperty'],
function (options) {
options.rules['requiredifnotempty'] = {
otherproperty: options.params['otherproperty']
};
options.messages['requiredifnotempty'] = options.message;
});