2016-11-09 58 views
0

我目前正在對針葉林的自定義實現,我注意到的是,即使我們在app/partials/custom-attributes/custom-attribute-value-edit.jade置於一種模式,我們的自定義輸入區如果輸入沒有按來ping錯誤不按照指定的模式如此大雅前端提交的自定義屬性更改即使無效

input#custom-field-value(name="value", type="tel", pattern="^\\+\\d{1,3}\\s\\d{1,3}\\s\\d{3}\\s\\d{4}$", placeholder="format: +[country_code] [area_code] [xxx] [xxxx] (e.g: +1 234 567 8910)", value!="<%- value %>") 

表格仍然提交給後端。雖然我確實看到一條表示模式不匹配的快速消息,但表單仍然提交。我得到了追查的過程中最遠的是這個文件 app/coffee/modules/common/custom-field-values.coffee

有一部分沒有用於處理提交

submit = debounce 2000, (event) => 
     event.preventDefault() 

     form = $el.find("form").checksley() 
     return if not form.validate() 

     input = $el.find("input[name=value], textarea[name='value'], select[name='value']") 
     attributeValue.value = input.val() 
     if input.prop("type") == 'checkbox' 
      if input[0].checkValidity() 
       attributeValue.value = !!input.prop("checked") 

但那是據我得到了。我的目標是不允許提交如果沒有按照指定的模式輸入驗證問題,如輸入發生。我使用的針葉林是3.0.0

回答

0

的當前版本我想它最終會。 Taiga使用checksley進行表單驗證。代替使用「模式」爲我的正則表達式像一個正常的輸入字段驗證,我使用checksley的屬性數據的regexp。這處理了我需要的驗證。

input#custom-field-value(name="value", type="tel", data-regexp="^\\+\\d{1,3}\\s\\d{1,3}\\s\\d{3}\\s\\d{4}$", placeholder="format: +[country_code] [area_code] [xxx] [xxxx] (e.g: +1 234 567 8910)", value!="<%- value %>") 

的文檔可以在下面的鏈接

https://media.readthedocs.org/pdf/checksley/latest/checksley.pdf

找到
相關問題