【问题标题】:How to add a custom validation to Magento prototype如何向 Magento 原型添加自定义验证
【发布时间】:2013-02-08 06:33:54
【问题描述】:

我想为一些自定义字段制作一个简单的 url 验证器。我尝试了默认的(将validate-urlvalidate-clean-url 类添加到输入中) - 但这些并不像我希望的那样工作,所以我想编写一些我自己的javascript,但与原型验证。

有人知道我该怎么做吗?

我在搜索中没有发现任何有用的东西,而且我不是很精通原型(主要使用 jQuery)。

【问题讨论】:

    标签: magento prototypejs


    【解决方案1】:

    在 /js/prototype/validation.js (或您拥有的此类文件的文件)中。你有一个包含数组的部分:

    classname :message on fail : function(v){your check return true/false;} 检查 v 是否有效

    这部分在 420 行附近。

    您可以将验证添加到此数组或修改 validate-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)
            }],
    

    编辑:R.S 通过展示如何在不更改 js 文件的情况下回答可能会更好。更方便;)

    【讨论】:

      【解决方案2】:

      您可以使用创建自己的自定义验证函数

      <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

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-01
      • 2012-09-16
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多