Чтобы проверить входные данные 'select2', вы должны сначала указать jquery validate для рассмотрения скрытых элементов:
$.validator.setDefaults({
ignore: [],
});
Это пользовательская подсветка / отмена подсветки, которую я использую для указания ошибок select2 и tagit с помощью jquery validate:
$("#someform").validate({
rules: {
nazwa: {
required: true
},
ilosc_w_opakowaniu: {
required: "#czy_opakowanie_zbiorcze:checked"
}
},
messages: {
nazwa: "Musisz wypełnić pole [Nazwa]",
ilosc_w_opakowaniu: "Musisz podać ilość produktu w opakowaniu zbiorczym",
},
highlight: function( element, errorClass, validClass ) {
if ( element.type === "radio" ) {
this.findByName( element.name ).addClass( errorClass ).removeClass( validClass );
} else {
$( element ).addClass( errorClass ).removeClass( validClass );
}
// select2
if( $(element).hasClass('select2-hidden-accessible') ){
dzik = $(element).next('span.select2');
if(dzik)
dzik.addClass( errorClass ).removeClass( validClass );
}
// tagit
dzik2 = $(element).parent().find('ul.tagit')
if( dzik2.length == 1 )
dzik2.addClass( errorClass ).removeClass( validClass );
},
unhighlight: function( element, errorClass, validClass ) {
if ( element.type === "radio" ) {
this.findByName( element.name ).removeClass( errorClass ).addClass( validClass );
} else {
$( element ).removeClass( errorClass ).addClass( validClass );
}
// select2
if( $(element).hasClass('select2-hidden-accessible') ){
dzik = $(element).next('span.select2');
if(dzik)
dzik.removeClass( errorClass ).addClass( validClass );
}
// tagit
dzik2 = $(element).parent().find('ul.tagit')
if( dzik2.length == 1 )
dzik2.removeClass( errorClass ).addClass( validClass );
}
});
И немного CSS:
/** select2 error hightight **/
.select2.error .select2-selection--single{
border-color:red !important;
color:red !important;
}
/** tagit error highlight **/
.tagit.error{
border-color:red !important;
color:red !important;
}
Если PDF-файлы отличаются только текстом, вы также можете растрировать страницы, а затем посмотреть на различия таким образом - мы используем это для вывода результатов регрессионного тестирования в нашем PDF-коде.
(Хотя он закрывает клавиатуру при нажатии клавиши возврата, что может быть не тем, что вам нужно.) (Изменить - из вашего второго комментария кажется, что это именно то, что вы хотите.)PS Люди, указанные выше, правы, если немного кратко (понятно). Вам необходимо реализовать UITextViewDelegate. В этом делегате, если вы хотите скрыть клавиатуру на клавише возврата, реализуйте shouldChangeTextInRange, найдите @ "\ n" и уволите первого респондента, если вы его получите. В качестве альтернативы можно добавить кнопку «Готово к редактированию» в пользовательский интерфейс и уволить первого респондента, если пользователь нажмет на нее.
если вы хотите скрыть клавиатуру на клавише возврата, реализуйте shouldChangeTextInRange, найдите @ "\ n" и уволите первого респондента, если вы его получите. В качестве альтернативы можно добавить кнопку «Готово к редактированию» в пользовательский интерфейс и уволить первого респондента, если пользователь нажмет на нее. если вы хотите скрыть клавиатуру на клавише возврата, реализуйте shouldChangeTextInRange, найдите @ "\ n" и уволите первого респондента, если вы его получите. В качестве альтернативы можно добавить кнопку «Готово к редактированию» в пользовательский интерфейс и уволить первого респондента, если пользователь нажмет на нее.Очень просто:
[myTextField resignFirstResponder];
поможет.
[yourTextField resignFirstResponder];
заставит клавиатуру исчезнуть и редактирование прекратится.