2014-12-02 2 views
0

Im используя JQuery Validate, и я хотел бы добавить метод, который ввод текста не может содержать ".com"Jquery проверки addMethod проверки для пользовательского метода

Im пытался:

//.com Validator 
    $.validator.addMethod('dotcom', function(value, element) { 
     return this.optional(element) || (!value.match(/[.com]/) && value.match(/[.com]/)); 
    }, 
    dotcom); 

Но это Безразлично» t работа, любое предложение сделать это? thanks

ответ

1

Похоже, что ваш тест регулярного выражения неверен. Попробуйте

var dotcom = 'Value cannot contain `.com`' 
 
$.validator.addMethod('dotcom', function(value, element) { 
 
    return this.optional(element) || !/\.com/.test(value); 
 
}, dotcom); 
 

 

 
$('form').validate({ 
 
    rules: { 
 
    site: { 
 
     dotcom: true 
 
    } 
 
    } 
 
}) 
 

 
$('button').click(function() { 
 
    $('form').valid(); 
 
    return false; 
 
})
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.js"></script> 
 
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/jquery.validate.js"></script> 
 
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.12.0/additional-methods.js"></script> 
 

 
<form> 
 
    <div> 
 
    <input name="site" /> 
 
    </div> 
 
    <button>Save</button> 
 
</form>

+0

спасибо большое !!! это очень полезно = D – TheSmile

+0

, если я хочу, чтобы входные данные имели «комн». так как ? Я попробовал '/ \ com ./. Test (value);' но не работает – TheSmile

+0

@TheSmile try 'return this.optional (element) ||/\. com/.test (value); ' –

Смежные вопросы