jquery-validation with jquery-mobile

adapted for latest library versions

HTML

<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.css">
   
<script src="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.js"></script>

<script src="//preview3.visisoft.de/APIChat/test_form_validation/jqueryvalidation/jquery.validate.js"></script>

<div data-role="page" id="login">
    
    <div data-role="header">
        <h1>Acme Corporation</h1>
    </div>
    
    <div data-role="content">
        
        <form id="frmLogin" class="validate">
            <div class="ui-field-contain">
                <label for="email"><em>* </em> Email: </label>
                <input type="text" id="email" name="email" 
                    class="required email" />
            </div>
            
            <div class="ui-field-contain">
                <label for="password"><em>* </em>Password: </label>
                <input type="password" id="password" name="password"
                    class="required" />
            </div>
            
            <button class="btnLogin" type="submit" 
                    data-theme="a">Login</button>
         
        </form>
        
    </div>
    
</div>

CSS

label.error {
    color: red;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.4;
    margin-top: 0.5em;
    width: 100%;
    float: none;
}

@media screen and (max-width: 28em){
    label.error { margin-left: 0; display: block; }
}

@media screen and (min-width: 28em){
    label.error { display: inline-block; margin-left: 22%; }
}

em { color: red; font-weight: bold; padding-right: .25em; }

JavaScript

$( "#frmLogin" ).validate({
    submitHandler: function( form ) {
        alert( "Call Login Action" );
    }
});