以编程方式添加数据欧芹模式时遇到问题
Trouble adding data-parsley-pattern programmatically
我正在使用欧芹,它很棒! 我想使用 javascript/JQuery 以编程方式添加不同的验证器,具体取决于语言环境。 当我像这样硬编码时:
<input type="text" id="billingPostalCode"
name="userInput_billingPostalCode"
value='<c:out value="${param.billingPostalCode}"></c:out>'
class="form-control" required=""
data-parsley-pattern="^'d{5}(?:[-'s]'d{4})?$"
data-parsley-error-message="Valid Zip/Postal Code Required"></input>
效果很好。 但是,当我尝试以编程方式添加它时,它没有。 我在.jsp文件中有这个:
<input type="text" id="billingPostalCode"
value='<c:out value="${param.billingPostalCode}"></c:out>'
class="form-control" required=""
data-parsley-error-message="Valid Zip/Postal Code Required">
</input>
这在.js:
$('#billingPostalCode').attr('data-parsley-pattern', "^'d{5}(?:[-'s]'d{4})?$");
属性被添加(我可以检查元素并查看它),但它没有正确验证(它认为有效的输入无效)。 我尝试在将欧芹附加到表单之前和之后放置 JQuery 代码:
[here...]
$('#paymentInfoForm').parsley( ... );
[and here...]
我还尝试了正则表达式、锚定和非锚定、简化版本等。 但就像我说的,正则表达式在硬编码时可以完美运行。
JSP会不会受到一些干扰? 我错过了什么吗? 提前谢谢。
我通过在正则表达式中使用 [0-9] 而不是/d 来解决此问题。 不过,这似乎确实是一个错误。 这按预期工作:
$('#billingPostalCode').attr('data-parsley-pattern', "[0-9]{5}(?:[-'s][0-9]{4})?");
但是下面的代码不会验证任何内容,甚至会破坏硬编码的验证:
$('#billingPostalCode').attr('data-parsley-pattern', "'d{5}(?:[-'s]'d{4})?");
这个问题必须特定于javascript,因为它在硬编码到jsp文件中时起作用。
相关文章:
- 将PHP变量传递给jQuery时遇到问题
- Javascript,访问一个主要对象模块模式中的每个对象
- 我的jQuery插件参数没有正确启动,遇到了问题
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 如何缩短MongoDB ObjectId并在Mongoose模式中使用它
- D3.js模式不适用于弧形或圆环图
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- 模块模式和这个
- 带有let的JS/EECMAScript6私有字段的模式
- 我是否可以检测到javascript正在被卸载(作为调试模式)
- 执行动态模式弹出
- 注意:wp_enqueue_script调用不正确.在 Wordpress 调试模式下
- AngularJS ui路由器html5模式中断路由
- 包含圆括号的JavaScript Regex模式
- 显示模块模式在Knockout中设置模型的新实例
- 为此模式编写正则表达式时遇到问题
- 以编程方式添加数据欧芹模式时遇到问题