Skip to main content

Simple client side validation library

    
Client side validation has never been easy..



Include jQuery and the validator.js 

<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <script src="../validate.js"></script>

Simple validation

<form id="myForm"> <label>User Name <span class="red-star">*</span> </label>
<input type="text" name="userName" class="validate-required" />
<br />
<label>Password <span class="red-star">*</span></label>
<input type="password" name="password" class="validate-required" />
<br />
<input type="submit" value="Login" />
</form>
<script type="text/javascript">
$(function () {
validator.initValidationEvents('myForm');
validator.showError = function(element,errorMessage){
$(element).notify(
errorMessage,
{
position:"right",
autoHide: false,
clickToHide: false
}
);
};
validator.hideError = function(element){
$(element).notify('notify-hide');
};
});
</script>

Validating regex


<form id="myForm"> <label>User Name <span class="red-star">*</span> </label>
<input type="text" name="userName"
class="validate-required validate-regexp"
data-regexp='^(ftp|http|https):\/\/[^ "]+$'
data-validate-regexp="Please provide a valid url." />
<br />
<label>Password <span class="red-star">*</span></label>
<input type="password" name="password" class="validate-required" />
<br />
<input type="submit" value="Login" />
</form>
<script type="text/javascript">
/*
You can give any regexp as data-regexp and provide data-validate-regexp as the validation human readable version.
This way you can handle most of the validations out there.
If you need more customization, then you can go for validator.addMethod ( I have provided a separate example for this 04-add-custom-methods.html )
*/
$(function () {
validator.initValidationEvents('myForm');
});
</script>

Validating without a form

<div id="myDiv"> <label>User Name <span class="red-star">*</span> </label> <input type="text" name="userName" class="validate-required" />
<br />
<label>Password <span class="red-star">*</span></label>
<input type="password" name="password" class="validate-required" />
<br />
<input type="button" id="loginButton" value="Login" />
</div>
<script type="text/javascript">
$(function () {
/*
Default case of initValidationEvents method is expecting the page to have a form and a button with type="submit".
But in this case we just have a div container and a button with type="button".
So we are passing a dummy function as an argument to disable submit event handler.
*/
validator.initValidationEvents('myDiv',function(){});
$('#loginButton').click(function(){
if(validator.isValidForm('myDiv')){
alert('your form is valid :D');
} else {
alert('your form is not valid !!!!! :(')
}
})
});
</script>

https://github.com/chanaka3d/validator

Displaying a resource in the WSO2 registry with jaggery


var carbon = require('carbon');
    var server = new carbon.server.Server();
    var options = {
        username: 'admin',
        tenantId: -1234
    };
    var reg = new carbon.registry.Registry(server, options);
    var path = '/_system/es/cartoon001gossiplankanews.png';
    var resource = reg.get(path);
    response.contentType = resource.mediaType;
    print(reg.content(path));

Comments

Anonymous said…
This comment has been removed by the author.

Popular posts from this blog

Using javascript to Include a html file inside another html file

When there is no server side functionality needed we create the whole site in plain html. Usually these sites have left/right side menu, top header, footer etc.. If the site grows in to 20, 30 pages, it will be a headache to do a simple change like changing footer text. We will have to change each page. If we were using a server side technology like PHP, JSP, etc.., we will have the chance to keep the common areas in the site in different pages and include these parts in each page using a “include” statements. We can do the same thing with the plain old html and javascript. But how? First you need to create the site main layout using divs and give them unique ids. <html> <title>HTML Includes</title> <script language="javascript" src="js/main.js"></script> <script src="js/prototype.js" type="text/javascript"></script> <script language="javascript" xml:space="preserve"> // <...

APIM 3.0 - populate multiple apis - bash script

Created a bash script to create, tag and publish multiple APIs. This is useful to populate data for the landing page. #!/bin/bash # get the URL consumer key clientId=$(curl -k -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -d @payload.json https://localhost:9443/client-registration/v0.14/register | jq -r '.clientId') clientSecret=$(curl -k -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -d @payload.json https://localhost:9443/client-registration/v0.14/register | jq -r '.clientSecret') echo $clientId echo $clientSecret encoded=$(echo -ne $clientId:$clientSecret | base64) echo $encoded # get access token accessToken=$(curl -k -d "grant_type=password&username=admin&password=admin&scope=apim:api_view,apim:api_create" -H "Authorization: Basic $encoded" https://localhost:9443/oauth2/token | jq -r '.access_token'...

Overriding default look and feel of GREG - 5.3.0

Following list explains what are the best approach for different use cases. 1 ) - You created a new asset type, and you need to change the look and feel of the details page in the listing page just for that new asset type. To create a new asset type you need to login to the carbon console (username:admin, password:admin) https:// :9443/carbon/ Navigate to Extensions > Configure > Artifacts Click "Add new Artifact" link at the bottom of the page. By default in the "Generic Artifact" area "application" asset type is loaded. Note the shortName="applications" in the root node. "applications" is the name of the asset type. Browse in to /repository/deployment/server/jaggeryapps/store/extensions/assets Create a folder with name "applications"    Now we can override the files in /repository/deployment/server/jaggeryapps/store/extensions/app/greg-store-defaults   Since we are overriding the details page we need to...