JSFiddle - React, Tailwind, and code Playground
HTML
<form class="form-horizontal">
<fieldset>
<!-- Form Name -->
<legend>Form Name</legend>
<!-- Text input-->
<div class="control-group">
<label class="control-label">Text Input</label>
<div class="controls">
<input id="textinput" name="textinput" placeholder="placeholder" class="input-xlarge" type="text">
<p class="help-block">help</p>
</div>
</div>
<!-- Text input-->
<div class="control-group">
<label class="control-label">Text Input</label>
<div class="controls">
<input id="textinput" name="name" placeholder="placeholder" class="input-xlarge" type="text">
<p class="help-block">help</p>
</div>
</div>
<!-- Multiple Radios -->
<div class="control-group">
<label class="control-label">Multiple Radios</label>
<div class="controls">
<label class="radio">
<input name="radios" value="Option one" checked="checked" type="radio">
Option one
</label>
<label class="radio">
<input name="radios" value="Option two" type="radio">
Option two
</label>
</div>
</div>
<!-- Multiple Checkboxes -->
<div class="control-group">
<label class="control-label">Multiple Checkboxes</label>
<div class="controls">
<label class="checkbox">
<input name="checkboxes" value="Option one" type="checkbox">
Option one
</label>
<label class="checkbox">
<input name="checkboxes" value="Option two" type="checkbox">
Option two
</label>
</div>
</div>
<!-- File Button -->
<div class="control-group">
<label class="control-label">File Button</label>
<div class="controls">
<input id="filebutton" name="filebutton" class="input-file" type="file">
</div>
</div>
<!-- Multiple Checkboxes (inline) -->
<div class="control-group">
<label class="control-label">Inline Checkboxes</label>
<div class="controls">
<label class="checkbox inline">
<input name="checkboxes" value="1" type="checkbox">
1
</label>
<label class="checkbox inline">
<input...
JavaScript
(function($) {
jQuery.fn.validate = function(options) {
//Настройки
var settings = $.extend({
"main_form_event_type" : "change",
"fild_settings" : { },
}, options);
var $this = this;
//Инициализация плагина
function init_validate(){
//Проверяем есть ли настройки для данного элемента формы
$($this).find("input:not(:submit),text").each(function(){
var name = $(this).attr("name");
//Проверяем пришло ли событие для этого элемента
event = settings.main_form_event_type;
if (settings.fild_settings[name] != undefined){
if (settings.fild_settings[name]["event"] != undefined){
event = settings.fild_settings[name]["event"];
}
}
//Устанавливаем событие валидации
$(this).on(event,function(){
alert("ss");
});
});
}
return this.each(function() {
init_validate();
});
};
})(jQuery);
$(".form-horizontal").validate({
fild_settings:{"name":{"event":["click"],"errror_show":[".ss"]}},
});