jQuery Validate Plugin - 单个字段的触发验证

时间:2010-04-29 16:16:54

标签: javascript jquery validation jquery-validate

我有一个表格可以选择通过facebook连接预先填充。用户连接后,会自动填写其姓名和电子邮件。问题是这不会触发远程验证以检查电子邮件是否已存在。

有没有办法可以单独调用该字段的验证?类似的东西:

$('#email-field-only').validate()

会有想法。通过文档搜索没有运气。

8 个答案:

答案 0 :(得分:137)

这种方法似乎可以做你想要的:

$('#email-field-only').valid();

答案 1 :(得分:19)

出于某种原因,在对焦点/模糊/更改字段或尝试提交之后,其他一些方法无法工作......这对我有用。

$("#formid").data('validator').element('#element').valid();

必须深入了解jquery.validate脚本才能找到它......

答案 2 :(得分:15)

使用Validator.element()

  

验证单个元素,如果有效则返回true,false   否则。

以下是API中显示的示例:

var validator = $( "#myform" ).validate();
validator.element( "#myselect" );
正如其他人所指出的那样,

.valid()验证了整个表格。 API说:

  

检查所选表单是否有效或是否全部选中   元素有效。

答案 3 :(得分:11)

name := "blank"

version := "1.0-SNAPSHOT"

scalaVersion := "2.10.2"

libraryDependencies ++= Seq (
    "org.scalatest" % "scalatest_2.10" % "1.9.1" % "test"
)

libraryDependencies ++= Seq(
  "com.typesafe.akka" %% "akka-actor" % "2.1.2"
)

libraryDependencies ++= Seq(
  "net.databinder" %% "dispatch" % "0.8.10"
)

libraryDependencies ++= Seq(
  "org.scala-lang" % "scala-actors" % "2.10.2"
)

libraryDependencies ++= Seq(
  "net.databinder" %% "dispatch-core" % "0.8.10"
)

libraryDependencies ++= Seq(
  "net.databinder" %% "dispatch-futures" % "0.8.10"
)

libraryDependencies ++= Seq(
  "net.databinder" %% "dispatch-nio" % "0.8.10"
)

libraryDependencies ++= Seq(
  "org.slf4j" % "slf4j-api" % "1.6.4",
  "org.slf4j" % "slf4j-simple" % "1.6.4"
)

libraryDependencies ++= Seq(
  "org.json4s" %% "json4s-core" % "3.2.10",
  "org.json4s" %% "json4s-native" % "3.2.10",
  "org.json4s" %% "json4s-jackson" % "3.2.10",
  "net.databinder" %% "unfiltered-netty" % "0.8.0" % "test",
  "net.databinder.dispatch" % "dispatch-json4s-native_2.11" % "0.11.1"
)

libraryDependencies ++= Seq(
  "io.argonaut" %% "argonaut" % "6.0.4"  
)

initialCommands := "import dispatch._"

答案 4 :(得分:6)

如果要验证单个表单字段,但不希望触发UI并显示任何验证错误,您可以考虑使用Validator.check()方法,如果给定字段通过验证,则返回。< / p>

这是示例

var validator = $("#form").data('validator');
if(validator.check('#element')){
    /*field is valid*/
}else{
    /*field is not valid (but no errors will be displayed)*/
}

答案 5 :(得分:5)

设置验证时,应该保存验证器对象。您可以使用它来验证各个字段。

<script type="text/javascript">
var _validator;
$(function () {    
     _validator = $("#form").validate();   
});

function doSomething() {    
     _validator.element($('#someElement'));
}
</script> 

- 与this similar question

交叉发布

答案 6 :(得分:0)

以防您要验证表单上的“某些元素”(不是所有元素)。您可以使用以下方法:

  app.config['MQTT_BROKER_URL'] = 'xxxxxx'
  app.config['MQTT_BROKER_PORT'] = 1883
  app.config['MQTT_REFRESH_TIME'] = 1.0


  mqtt = Mqtt(app)
  socketio = SocketIO(app)
  @socketio.on('publish')
 def handle_publish(json_str):
    data = json.loads(json_str)
    mqtt.publish(data['topic'], data['message'])


@mqtt.on_connect()
def handle_connect(client, userdata, flags, rc):
   mqtt.subscribe('topic1_name')
   mqtt.subscribe('topic2_name')

@mqtt.on_message()
def handle_mqtt_message(client, userdata, message):
         insert message to database
@app.route('/')
def index():
   return render_template('new.html') 

希望对大家有帮助:)

已编辑

答案 7 :(得分:-7)

$("#element").validate().valid()
相关问题