我有一个表格可以选择通过facebook连接预先填充。用户连接后,会自动填写其姓名和电子邮件。问题是这不会触发远程验证以检查电子邮件是否已存在。
有没有办法可以单独调用该字段的验证?类似的东西:
$('#email-field-only').validate()
会有想法。通过文档搜索没有运气。
答案 0 :(得分:137)
这种方法似乎可以做你想要的:
$('#email-field-only').valid();
答案 1 :(得分:19)
出于某种原因,在对焦点/模糊/更改字段或尝试提交之后,其他一些方法无法工作......这对我有用。
$("#formid").data('validator').element('#element').valid();
必须深入了解jquery.validate脚本才能找到它......
答案 2 :(得分:15)
验证单个元素,如果有效则返回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>
交叉发布
答案 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()