Javascript jQuery.valid()不工作?(验证插件)
我正在使用,但我的代码没有按预期工作。我想要的是,当我点击提交按钮时,程序将检查表单是否正确填写并包含url,然后运行一个函数。在这种情况下,它总是“真” 不确定这是否相关,但我正在使用Flask和WTForms: 表格: Html:Javascript jQuery.valid()不工作?(验证插件),javascript,jquery,flask,flask-wtforms,Javascript,Jquery,Flask,Flask Wtforms,我正在使用,但我的代码没有按预期工作。我想要的是,当我点击提交按钮时,程序将检查表单是否正确填写并包含url,然后运行一个函数。在这种情况下,它总是“真” 不确定这是否相关,但我正在使用Flask和WTForms: 表格: Html: 我尝试了dirn的建议,但即使两个字段都是空的,这仍然返回true。您可以这样尝试: var form = $( "#button1" ); form.validate(); $( "#update" ).click(function() { alert( "
我尝试了dirn的建议,但即使两个字段都是空的,这仍然返回true。您可以这样尝试:
var form = $( "#button1" );
form.validate();
$( "#update" ).click(function() {
alert( "Valid: " + form.valid() );
});
这将在单击按钮时而不是单击表单时验证表单。您尚未设置任何验证规则。插件将这两个字段视为可选字符串。你可以通过几种方式来改变这一点
<input type="url" name="svn_url1" required>
另一种方法是对表单对象使用validate方法,并将验证规则传递给表单对象
$('#button1').submit(function() {
var is_valid = $(this).validate({
rules: {
svn_url1: {
required: true,
url: true
}
}
});
});
仅供参考。。。如果您提供jsfiddle,那就更好了。我仍然会得到同样的错误,它说Valid:True在每种情况下都是有效的。您有任何输入要验证吗?是的,我想问题是,因为我使用的是flask,所以我可以把{{form1.svn_url1}}放在上面,它使用WTForms创建一个输入文本字段,也许jQuery验证插件没有将此视为输入。你建议我怎么做?不要用烧瓶?我对flask一无所知,抱歉,我已经尝试了两种方法,但是,我仍然得到相同的错误。我更喜欢使用的方法是validate方法。你能看一下这个问题的更新,看看我做错了什么吗?
$('#button1').submit(function(){
var is_valid = $(this).validate({
rules: {
svn_url1: {
required: true,
url: true
},
svn_url2: {
required: true,
url: true
}
}
});
if(is_valid){
alert('true');
}
else{
alert('false');
}
});
});
var form = $( "#button1" );
form.validate();
$( "#update" ).click(function() {
alert( "Valid: " + form.valid() );
});
<input type="url" name="svn_url1" required>
from wtforms.fields.html5 import URLField
from wtforms.validators import wtforms.validators.DataRequired
class SVNPath(Form):
svn_url1 = URLField(validators=[wtforms.validators.DataRequired()])
$('#button1').submit(function() {
var is_valid = $(this).validate({
rules: {
svn_url1: {
required: true,
url: true
}
}
});
});