Library
blockquote>import java.io.BufferedWriter; import java.io.File; импортировать java.io.FileWriter; import java.io.IOException;
Код
blockquote>public void append () {try {String path = "D: /sample.txt"; Файл file = новый файл (путь); FileWriter fileWriter = новый FileWriter (файл, true); BufferedWriter bufferFileWriter = new BufferedWriter (fileWriter); fileWriter.append («Пример текста в файле для добавления»); bufferFileWriter.close (); System.out.println («Регистрация пользователя завершена»); } catch (Exception ex) {System.out.println (ex); }}
Автор плагина говорит, что вы должны использовать квадратные скобки без кавычек , []
http://bassistance.de/2011/10/ 07 / release-validation-plugin-1-9-0 /
Release: Validation Plugin 1.9.0: «... Еще одно изменение должно сделать установку форм со скрытыми Элементы проще, теперь они игнорируются по умолчанию (опция «ignore» теперь имеет значение «: hidden» по умолчанию). Теоретически это может нарушить существующую настройку. В маловероятном случае, что это действительно так, вы можете исправить это, установив ignore-option to "[]" (квадратные скобки без кавычек).
blockquote>Чтобы изменить эту настройку для всех форм:
$.validator.setDefaults({ ignore: [], // any other default options and/or rules });
(Это не что
.setDefaults()
находится внутри функцииdocument.ready
)ИЛИ для одной конкретной формы:
$(document).ready(function() { $('#myform').validate({ ignore: [], // any other options and/or rules }); });
EDIT:
См. этот ответ о том, как включить проверку некоторых скрытых полей, но все равно игнорировать другие.
EDIT 2:
Перед тем как оставить комментарии, что " это не работает », продолжайте в виду, что OP просто спрашивает о плагине jQuery Validate , и его вопрос не имеет никакого отношения к тому, как ASP.NET, MVC или любая другая инфраструктура Microsoft могут изменить нормальное ожидаемое поведение этого плагина. Если вы используете фреймворк Microsoft, функционирование плагина jQuery Validate по умолчанию перезаписывается плагином Microsoft
unobtrusive-validation
.Если вы боретесь с плагином
unobtrusive-validation
, пожалуйста, обратитесь вместо этого: https://stackoverflow.com/a/11053251/594235
Итак, я собираюсь немного глубже понять, почему это не работает, потому что я такой человек, который не может спать по ночам, не зная ха-ха. Я использую jQuery validate 1.10 и Microsoft jQuery Unobtrusive Validation 2.0.20710.0, который был опубликован в 1/29/2013.
Я начал с поиска метода setDefaults в jQuery Validate и нашел его в строке 261 unminified file. Вся эта функция действительно объединяет ваши настройки json в существующие $.validator.defaults
, которые инициализируются с использованием свойства ignore, которое установлено как «: hidden», а также другие значения по умолчанию, определенные в jQuery Validate. Поэтому в этот момент мы переопределили игнорирование. Теперь давайте посмотрим, на что ссылается это свойство по умолчанию.
Когда я прорисовывал код, чтобы увидеть, где ссылается $.validator.defaults
. Я заметил, что это используется только конструктором для валидатора формы, строка 170 в jQuery проверяет unminified файл.
// constructor for validator
$.validator = function( options, form ) {
this.settings = $.extend( true, {}, $.validator.defaults, options );
this.currentForm = form;
this.init();
};
На этом этапе валидатор объединит все установленные по умолчанию настройки, которые были установлены и прикреплены к валидатору формы. Когда вы смотрите на код, который выполняет проверку, подсветку, подсвечивание и т. Д., Все они используют объект validator.settings, чтобы вытащить свойство ignore. Поэтому нам нужно убедиться, что мы должны установить игнорирование с помощью метода setDefaults, тогда он должен произойти до $ («form»). Вызывается функция validate ().
Если вы используете Asp .net MVC и ненавязчивый плагин, тогда вы поймете, посмотрев на javascript, который validate вызывается в документе .ready. Я также назвал свои setDefaults в блоке document.ready, который будет выполняться после скриптов, jquery проверяет и ненавязчив, потому что я определил эти сценарии в html перед тем, у кого есть вызов в нем. Таким образом, мой вызов, очевидно, не повлиял на функциональность по умолчанию пропуска скрытых элементов во время проверки. Здесь есть пара вариантов.
Вариант 1 - Вы могли бы, как указал Хуан Мелладо, вызвать вызов за пределами документа. Уже выполнив его, как только скрипт будет загружен. Я не уверен в сроках этого, так как браузеры теперь могут выполнять параллельную загрузку скрипта. Если я просто буду осторожен, то, пожалуйста, поправьте меня. Кроме того, возможно, есть способы обойти это, но для моих нужд я не пошел по этому пути.
Вариант 2a - Безопасная ставка в моих глазах - просто заменить $.validator.setDefaults({ ignore: '' });
внутри события document.ready с $("form").data("validator").settings.ignore = "";
. Это изменит свойство ignore, которое фактически используется проверкой jQuery при выполнении каждой проверки на ваших элементах для данной формы.
Параметры 2b - После просмотра кода немного больше вы также можете использовать $("form").validate().settings.ignore = "";
как способ установки свойства ignore. Причина в том, что при просмотре функции validate он проверяет, был ли объект-валидатор уже сохранен для элемента формы с помощью функции $.data()
. Если он находит объект валидатора, хранящийся в элементе формы, он просто возвращает объект validator вместо создания другого.
Это работало для меня на сайте ASP.NET. Чтобы включить проверку в некоторых скрытых полях, используйте этот код
$("form").data("validator").settings.ignore = ":hidden:not(#myitem)";
Чтобы включить проверку для всех элементов формы, используйте эту $("form").data("validator").settings.ignore = "";
. Обратите внимание: используйте их в $(document).ready(function() { })
Просто добавленный ignore: []
на конкретную страницу для конкретной формы, это решение сработало для меня.
$("#form_name").validate({
ignore: [],
onkeyup: false,
rules: {
},
highlight:false,
});
Обязательно установите
$.validator.setDefaults({ ignore: '' });
НЕ внутри $(document).ready
$.validator.setDefaults()
внутри или снаружи готового ручного DOM. Сравните этот jsFiddle с этим jsFiddle .
– Sparky
9 April 2013 в 21:40
Это работало для меня на узле ASP.NET MVC3, где я оставил структуру для настройки ненавязчивой проверки и т. д., если это полезно кому угодно:
$("form").data("validator").settings.ignore = "";
Просто найдите текст ignore: ": hidden" в файле проверки jquery и прокомментируйте его. После комментариев это никогда не потеряет никаких скрытых элементов для проверки ...
Спасибо
Это работает для меня.
jQuery("#form_name").validate().settings.ignore = "";