如何正确使用emberjs上的jquery-validation?

时间:2017-04-26 20:38:52

标签: jquery ember.js jquery-validate emblem.js

我正在尝试创建一个简单的验证来要求名称(稍后会添加更多验证)。该应用是一个ember应用,我们希望使用jquery validation

我无法运行基本验证。这就是我所拥有的:

echoResponse(200, "your response"); 

在组件内部,比如sales-form:

//index.html
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js"></script>

... 
//body and such//
...

<script>
  $('#salesForm').validate();
</script>

</body>

这会给我一个构建错误,因为会徽无法识别输入中的//app/components/sales-form/template.emblem form id="salesForm" ... .form-group label Some Sales Info = input type="text" disabled=false value=salesNumber placeholder="Sales Number" class="form-control" required button{action: 'clickNSave'} ...

如何在使用徽章模板的ember应用程序上使用jquery-validation创建简单验证?

另外一个问题,是我对required的验证是否正确,要在关闭正文标记之前在最后运行验证?如果不是,插入index.html的最佳方式在哪里?

1 个答案:

答案 0 :(得分:0)

  

这给了我一个构建错误,因为会徽无法识别输入。

What about required="required" or required=required?否则,我不知道您应该如何使用Ember.js添加此属性。

  

...运行验证...

您没有“正在运行”验证。您正在“初始化”表单上的jQuery Validate插件。

  

...最后,在关闭身体标签之前?如果不是,插入$('#someForm').validate();的最佳方式在哪里?

$('#someForm').validate()只是在a DOM ready handler内被调用,无论是在顶部,底部还是其他任何地方都无关紧要,只要它在之后被称为 > 你包括jQuery和插件。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js"></script>

....

<script>
    $(document).ready(function() {   // ensures DOM is fully constructed
        $('#someForm').validate();   // initialize the plugin on #someForm
    });
</script>

否则,如果您在没有 DOM就绪处理程序的情况下放入head ,则尚未在DOM中呈现form并且您对.validate()的调用会失败。

  

如何在使用徽章模板的ember应用程序上使用jquery-validation创建简单验证?

我看不到您在name元素中分配input属性的位置。 jQuery Validate插件mandates that any form element being validated must contain a unique name attribute

= input type="text" name="sales_number" required="required" disabled=false value=salesNumber placeholder="Sales Number" class="form-control" 

有关正确使用此插件的详细信息,请参阅the documentation以及the SO wiki page