JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://jfluent.googlecode.com/svn/trunk/jFluent.js"></script>
Name:<input type="text" id="Name" />
<span class="field-validation-valid" data-valmsg-for="Name" data-valmsg-replace="true"></span>
<br />
D.O.B:<input type="text" id="Dob" />
<span class="field-validation-valid" data-valmsg-for="Dob" data-valmsg-replace="true"></span>
<br />
Email:<input type="text" id="Email" />
<span class="field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span>
<br />
Job type:
<select id="JobType">
<option value="manager">Manager</option>
<option value="lead">Lead</option>
<option value="senior">Senior</option>
<option value="junior">Junior</option>
</select>
<span class="field-validation-valid" data-valmsg-for="JobType" data-valmsg-replace="true"></span>
<br />
Role:
<select id="Role">
<option value="read">Read</option>
<option value="edit">Edit</option>
<option value="admin">Admin</option>
</select>
<br /><br />
<input type="button" value="Register" id="Register" />
CSS
.field-validation-error {
color: #ff0000;
}
.field-validation-valid {
display: none;
}
JavaScript
function Rules() {
$("#Name").NotNullOrEmpty('Name cannot be empty')
.Matches("^([A-z]+\\s*)+$", "Name should be alpha with spaces only");
$("#Dob").NotNullOrEmpty('Dob cannot be empty')
.Matches("^[0-9]{1,2}[/\-][0-9]{1,2}[/\-][0-9]{4}$", 'Invalid date format');
$("#Email").NotNullOrEmpty("Email cannot be empty")
.Email("Email address is not valid");
$("#JobType").Required(function (jobType) {
if (jobType == 'manager' || jobType == 'lead'){
if ($("#Role").val() != 'admin') {
return false;
}
}
return true;
}, 'Manager/Lead must be Admin');
}
$(document).ready(function () {
//Add the Rules to jFluent
$.jFluentRules(Rules);
$("#Register").click(function (e) {
//Call jFluent validation
if (!$.jFluentValidate()) {
//alert('validation failed!');
e.preventDefault();
}
});
});