UNPKG

jqwidgets-scripts-custom

Version:

jQWidgets is an advanced jQuery, Angular 7, Vue, React, ASP .NET MVC, Custom Elements and HTML5 UI framework.

195 lines (184 loc) 10.2 kB
<!DOCTYPE html> <html lang="en"> <head> <title id='Description'>Validator Custom Element DefaultFunctionality</title> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta name="viewport" content="width=device-width, initial-scale=1 maximum-scale=1 minimum-scale=1" /> <meta name="description" content="This is an example of the default functionalities in Validator Custom Element." /> <link rel="stylesheet" href="../../../jqwidgets/styles/jqx.base.css" type="text/css" /> <link rel="stylesheet" href="../../../styles/demos.css" type="text/css" /> <script type="text/javascript" src="../../../scripts/webcomponents-lite.min.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcore.elements.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxexpander.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxvalidator.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxbuttons.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcheckbox.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxcalendar.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxdatetimeinput.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxmaskedinput.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxinput.js"></script> <script type="text/javascript" src="../../../jqwidgets/jqxpasswordinput.js"></script> <script type="text/javascript" src="../../../jqwidgets/globalization/globalize.js"></script> <script src="../../../scripts/demos.js"></script> <style type="text/css"> .register-table { margin-top: 10px; margin-bottom: 10px; } .register-table td, .register-table tr { margin: 0px; padding: 2px; border-spacing: 0px; border-collapse: collapse; font-family: Verdana; font-size: 12px; } h3 { display: inline-block; margin: 0px; padding: 0px; } </style> <script> JQXElements.settings["expanderSettings"] = { showArrow: false, width: 500, height: 550, toggleMode: 'none' }; JQXElements.settings["dateTimeInputSettings"] = { value: new Date(2018, 4, 1) }; JQXElements.settings["emailInputSettings"] = { placeHolder: 'someone@mail.com' }; JQXElements.settings["MaskedInputSettings1"] = { mask: '###-##-####' }; JQXElements.settings["MaskedInputSettings2"] = { mask: '(###)###-####' }; JQXElements.settings["MaskedInputSettings3"] = { mask: '###-##-####' }; JQXElements.settings["validatorSettings"] = { rules: [ { input: '.userInput', message: 'Username is required!', action: 'keyup, blur', rule: 'required' }, { input: '.userInput', message: 'Your username must be between 3 and 12 characters!', action: 'keyup, blur', rule: 'length=3,12' }, { input: '.realNameInput', message: 'Real Name is required!', action: 'keyup, blur', rule: 'required' }, { input: '.realNameInput', message: 'Your real name must contain only letters!', action: 'keyup', rule: 'notNumber' }, { input: '.realNameInput', message: 'Your real name must be between 3 and 12 characters!', action: 'keyup', rule: 'length=2,12' }, { input: '.birthInput', message: 'Your birth date must be between 1/1/1900 and 1/1/2018.', action: 'valueChanged', rule: function (input, commit) { var myDateTimeInput = document.querySelector('jqx-date-time-input'); var date = new Date(myDateTimeInput.val()); var result = date.getFullYear() >= 1900 && date.getFullYear() <= 2018; return result; } }, { input: '.passwordInput', message: 'Password is required!', action: 'keyup, blur', rule: 'required' }, { input: '.passwordInput', message: 'Your password must be between 4 and 12 characters!', action: 'keyup, blur', rule: 'length=4,12' }, { input: '.passwordConfirmInput', message: 'Password is required!', action: 'keyup, blur', rule: 'required' }, { input: '.passwordConfirmInput', message: 'Passwords doesn\'t match!', action: 'keyup, focus', rule: function (input, commit) { var myPasswordInputs = document.querySelectorAll('jqx-password-input'); if (myPasswordInputs[0].val() === myPasswordInputs[1].val()) { return true; } return false; } }, { input: '.emailInput', message: 'E-mail is required!', action: 'keyup, blur', rule: 'required' }, { input: '.emailInput', message: 'Invalid e-mail!', action: 'keyup', rule: 'email' }, { input: '.ssnInput', message: 'Invalid SSN!', action: 'valuechanged, blur', rule: 'ssn' }, { input: '.phoneInput', message: 'Invalid phone number!', action: 'valuechanged, blur', rule: 'phone' }, { input: '.zipInput', message: 'Invalid zip code!', action: 'valuechanged, blur', rule: 'zipCode' }, { input: '.acceptCheckBox', message: 'You have to accept the terms', action: 'change', rule: 'required', position: 'right:0,0' } ] }; window.onload = function() { var myValidator = document.querySelector('jqx-validator'); var myButton = document.querySelector('jqx-button'); myButton.addEventListener('click', function () { myValidator.validate(document.getElementById('form')) }); }; </script> </head> <body> <div class="example-description"> This demo illustrates the basic functionality of the Validator custom element. </div> <jqx-expander settings="expanderSettings"> <div><h3 style="padding: 0; margin: 0;">Register</h3></div> <div style="padding: 5px;"> <jqx-validator settings="validatorSettings"> <form id='form' action="./"> <table class="register-table"> <tbody> <tr> <td>Username:</td> <td><jqx-input class="userInput" width="300" height="35"></jqx-input></td> </tr> <tr> <td>Password:</td> <td><jqx-password-input class="passwordInput" width="300" height="35"></jqx-password-input></td> </tr> <tr> <td>Confirm password:</td> <td><jqx-password-input class="passwordConfirmInput" width="300" height="35"></jqx-password-input></td> </tr> <tr> <td>Real name:</td> <td><jqx-input class="realNameInput" width="300" height="35"></jqx-input></td> </tr> <tr> <td>Birth date:</td> <td><jqx-date-time-input class="birthInput" settings="dateTimeInputSettings"></jqx-date-time-input></td> </tr> <tr> <td>E-mail:</td> <td><jqx-input class="emailInput" settings="emailInputSettings"></jqx-input></td> </tr> <tr> <td>SSN:</td> <td><jqx-masked-input class="ssnInput" settings="MaskedInputSettings1"></jqx-masked-input></td> </tr> <tr> <td>Phone:</td> <td><jqx-masked-input class="phoneInput" settings="MaskedInputSettings2"></jqx-masked-input></td> </tr> <tr> <td>Zip code:</td> <td><jqx-masked-input class="zipInput" settings="MaskedInputSettings3"></jqx-masked-input></td> </tr> <tr> <td colspan="2" style="text-align: center; padding-top: 10px; padding-bottom: 10px;"> <jqx-check-box class="acceptCheckBox">I accept terms</jqx-check-box> </td> </tr> <tr> <td colspan="2" style="text-align: center"> <jqx-button>Send</jqx-button> </td> </tr> </tbody> </table> </form> </jqx-validator> </div> </jqx-expander> </body> </html>