Как настроить JQuery Validate и InputMask-robinherbots для совместной работы - PullRequest
0 голосов
/ 30 января 2019

html

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <meta charset="utf-8" />
    <link rel="stylesheet" type="text/css" href="css/jquery-ui.css" />
    <link rel="stylesheet" href="style.css">
    <script src="js/jquery-3.3.1.js"></script>
    <script src="js/jquery-ui.js"></script>
    <script src="js/jquery.validate.js"></script>
    <script src="js/inputmask.js"></script>
   <script src="js/inputmask.numeric.extensions.js"></script>
   <script src="js/jquery.inputmask.js"></script>
    <script src="js/script.js"></script>

/head>
<body>
    <form class="myform">
        <h2>Enter sum</h2>
        <div>
            <input  class="numberInputUs" name="numberUs" type="text" />
        </div>
        <br />
        <br />
      </form>
    <hr />
 </body>
</html>

script

$(document).ready(function () {

    $('.myform').validate({
        rules: {

            numberUs: {
                required: true,
                range: [2, 100000000]
            },

        },
    });

    validateAfterLossFocus();

    setAliasForCurrency();
    $("input").val(''); 
   setMaskInput();/

});


function validateAfterLossFocus() {

    $('input').on('blur', function () {
        $(this).submit(); 
    })


}

function setAliasForCurrency(){

    Inputmask.extendAliases({
        us: {
            prefix: "$",
            groupSeparator: ".",
            alias: "numeric",
            placeholder: "0",
            autoGroup: !0,
            digits: 2,
            digitsOptional: !1,
            clearMaskOnLostFocus: !1,
            allowMinus: 'false'
        }
    });
}


function setMaskInput() {

    //$('.numberInputUs').inputmask("currency");  
    //$('.numberInputUs').inputmask({ alias: "currency", prefix: '' }); 

    $('.numberInputUs').inputmask({ alias: "us" }); 

}

При использовании таких параметров в InputMask, как: -prefix, groupseparator, digits, затем проверка работает некорректно.Как обеспечить сохранение обоих форматов и их достоверность.

Я думаю, что «заполнители» и «разделители», валидатор распознается как символы и учитывает их ...

ОБНОВЛЕНИЕ 2

Я написал код, подобный этому.

 Inputmask.extendAliases({
        byn: {
            min: 2,
            max: 200000,
            prefix: "$",
            groupSeparator: ".",
            alias: "numeric",
            placeholder: "0",
            autoGroup: !0,
            digits: 2,
            digitsOptional: !1,
            clearMaskOnLostFocus: !1,
            allowMinus: 'false',

        }
    });

Но пользователь недоумевает, что вы можете ввести больше, чем этот номер.Также как еще добавить оповещение о том, что оно неправильно вводит номер

...