首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在提交时使用liveValidation验证表单?

如何在提交时使用liveValidation验证表单?
EN

Stack Overflow用户
提问于 2012-07-02 10:50:11
回答 1查看 5.1K关注 0票数 2

我有以下代码在提交时验证该表单:

代码语言:javascript
复制
<form enctype='multipart/form-data' 
   action='ad_posting_process.php' 
   method='post'>
   Price: <input type=text name=price 
                  id="price" style=width:90px;>
<script type="text/javascript"> 
  var f3 = new LiveValidation('price');
  f3.add( Validate.Numericality );
</script>
Email: <input type=text name=email 
                  id="email" style=width:240px;>
<script type="text/javascript"> 
  var f20 = new LiveValidation('email');
  f20.add( Validate.Email );
</script>
<script type="text/javascript">
  var title = new LiveValidation( 'title', {onlyOnSubmit: true } );
  title.add( Validate.Email );
  var field2 = new LiveValidation( 'price', {onlyOnSubmit: true } );
  field2.add( Validate.Acceptance );
  var field3 = new LiveValidation( 'email', {onlyOnSubmit: true } );
  field3.add( Validate.Presence );
</script>
<input type=submit name=action value=Post>
</form>

电子邮件验证是有效的,但是如何在提交时验证整个表单?

关于:

EN

回答 1

Stack Overflow用户

发布于 2012-07-02 11:28:04

我对这个库不是很熟悉,但似乎您应该可以通过简单地添加:

代码语言:javascript
复制
{onlyOnSubmit: true } 

作为要验证的每个元素的参数,例如:

代码语言:javascript
复制
var f20 = new LiveValidation('email');
f20.add( Validate.Email, {onlyOnSubmit: true });

顺便问一下,你看过这一页吗?:http://livevalidation.com/examples#exampleForms

另外,您是为每个元素使用不同的脚本部分来验证(还是只以这种方式剪切和粘贴?)您可能可以在同一个脚本块中完成所有这些操作。

更新,扩展答案:

您可能会尝试修复代码中的一些问题,因为它们可能会给JS带来问题:

  • 确保在所有字段(如name=“价格”等)周围使用“(双引号,而不是单引号!)”。
  • 您是否有一个名为"title“的字段,因为我看不到它--这可能导致脚本失败(?)。

确保以下列方式之一关闭每个html元素。

代码语言:javascript
复制
<input></input>
<input />

您的代码可能如下所示:

代码语言:javascript
复制
<form enctype="multipart/form-data"
  action="ad_posting_process.php" 
  method="post">

Price: <input type="text" name="price"
              id="price" style="width:90px;">
Email: <input type="text" name="email"
              id="email" style="width:240px;">

<script type="text/javascript"> 
var f3 = new LiveValidation('price');
  f3.add( Validate.Numericality );
  var f20 = new LiveValidation('email');
  f20.add( Validate.Email );
  var title = new LiveValidation( 'title', {onlyOnSubmit: true } );
  title.add( Validate.Email );
  var field2 = new LiveValidation( 'price', {onlyOnSubmit: true } );
  field2.add( Validate.Acceptance );
  var field3 = new LiveValidation( 'email', {onlyOnSubmit: true } );
  field3.add( Validate.Presence );
</script>
<input type="submit" name="action" value="Post" />
</form>

此外,请检查浏览器中是否存在与javascript相关的错误。大多数现代浏览器都有一些用于js的错误面板或调试工具。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11292175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档