죄송합니다. 이전에 브라우저에서 작업 한 경험이 없지만 JQuery 1.7.1을 1.8.3으로 업그레이드 한 후에 단위 테스트에 실패했습니다. 나는이 실패를 고쳐야 만한다. 우리는 그런 html 페이지가 있습니다. 업그레이드 후 유효성 검사가 작동하지 않습니다. JQuery
<li class="my-form-item">
<label for="my_data_add_description" data-localize="my_data.add.description">Description</label>
<div class="my-form-content my-has-help">
<span type="text" id="my_data_add_description" name="data_description"></span>
<label for="my_data_add_description" class="my-optional">optional</label>
<label for="my_data_add_description" class="my-help" data-localize="my_data.add.description_help">Description</label>
</div>
</li>
그리고 자바 스크립트는 단위 테스트에서
var DATA_DESCRIPTION = 'data_description';
function getRules(formId) {
var rules = {};
rules[DATA_DESCRIPTION] = {
maxlength: DataModel.DESCRIPTION_MAXLENGTH
};
}
function getMessages(formId) {
var messages = {};
messages[DATA_DESCRIPTION] = {
maxlength: Localizer.getString('data description maxLength')
};
}
this.initValidator = function (formId) {
// Set validation defaults per the 'dialog' context
self.setDialogValidatorDefaults();
validator = $(formId).validate({
rules: getRules(formId),
messages: getMessages(formId)
});
};
Finally, we count the invalid elements number
this.invalidElements = function(formId) {
$(formId).submit();
return validator.invalidElements();
};
같다. my_data_add_description에 DESCRIPTION_MAXLENGTH + 1 'a'가 포함 된 문자열을 설정했습니다.
$(#my_data_add_description).val('aaa...a') // set DESCRIPTION_MAXLENGTH+1 'a' to my_data_description.
expect(formValidator.invalidElements(formId)).toEqual(1); // now we have a invalid element
이 테스트는 항상 실패하고 invalidElements는 항상 우리가 JQuery와 1.7.1 사용할 때이 코드는 잘 작동 0 반환하지만 우리는 1.8.3에 JQuery와 업그레이드 한 후 실패합니다. 이유를 이해할 수 없습니다. 누구든지 그것에 대해 알고 있거나 비슷한 문제가 있습니까?
시나리오에 맞는 간단한 jsfiddle을 만들 수 있습니까? – dreamweiver
Validator 플러그인 버전? – Gajotres