我想打一个简单的URL验证了一些自定义字段。 我尝试了默认的(加类validate-url
或validate-clean-url
到输入) -但这些不太工作,我想他们,所以我想写一些我自己的JavaScript,但综合与原型验证。
没有人有任何想法如何,我可以做到这一点?
我没有发现任何有用的在我的搜索,我不是很原型的萨维(用jQuery大多工作)。
我想打一个简单的URL验证了一些自定义字段。 我尝试了默认的(加类validate-url
或validate-clean-url
到输入) -但这些不太工作,我想他们,所以我想写一些我自己的JavaScript,但综合与原型验证。
没有人有任何想法如何,我可以做到这一点?
我没有发现任何有用的在我的搜索,我不是很原型的萨维(用jQuery大多工作)。
您可以通过创建自己的自定义验证函数
<script type="text/javascript">
var theForm = new VarienForm('theForm', true);
Validation.add('validate-must-be-baz','You failed to enter baz!',function(the_field_value){
if(the_field_value == 'baz')
{
return true;
}
return false;
});
</script>
见http://magento-quickies.tumblr.com/post/6579512188/magento-custom-form-validation
要么
if(Validation) {
Validation.addAllThese([
[
'validation-myown',
'Please insert proper word',
function(v,r){ return v.indexOf('valid')==-1?false:true }
],
[ ]
])
}
看到http://blog.baobaz.com/en/blog/custom-javascript-form-validators
在/js/prototype/validation.js(或文件这种事情你)。 你有数组的部分:
类名:消息上失败:函数(V){支票返回的true / false;}检查v为有效或无效
这部分是围绕线420。
您可以将验证添加到这个阵列或修改验证的URL这里是什么样子:
['validate-url', 'Please enter a valid URL. Protocol is required (http://, https:// or ftp://)', function (v) {
v = (v || '').replace(/^\s+/, '').replace(/\s+$/, '');
return Validation.get('IsEmpty').test(v) || /^(http|https|ftp):\/\/(([A-Z0-9]([A-Z0-9_-]*[A-Z0-9]|))(\.[A-Z0-9]([A-Z0-9_-]*[A-Z0-9]|))*)(:(\d+))?(\/[A-Z0-9~](([A-Z0-9_~-]|\.)*[A-Z0-9~]|))*\/?(.*)?$/i.test(v)
}],
编辑:RS也许更好的回答展示了如何在不改变js文件做。 更方便 ;)