Taiga前端提交自定义属性更改,即使无效
Taiga front end submits custom attribute changes even if invalid
我目前正在研究taiga的自定义实现,我注意到,即使我们在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")
但我就知道这么多了。我的目标是,如果存在输入验证问题,比如输入没有遵循指定的模式,就不允许提交。我使用的是taiga的当前版本3.0.0
我终于想通了。Taiga使用checksley进行表单验证。我没有像普通输入字段验证器那样对正则表达式使用"pattern",而是使用checksley的属性data-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相关文章:
- 可以前端maven插件使用节点,npm已经安装
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 这个问号在Flow中意味着什么:“;?()=>“无效”;
- 从字符串末尾删除空白无效
- 为什么react/redux前端项目在package.json中包含生产依赖项
- Jquery Datatables错误:无效的JSON基元:draw
- 滚动在Chrome中有效,但在Firefox或IE中无效
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- Javascript setattribute-名称和值无效
- 从REST服务器和Coffeescapet前端开始
- 格式化货币无效
- JavaScript错误无效的限定符
- 按键事件无效的原因
- Laravel数据表无效的JSON响应
- 文本字段显示它是有效的,即使它在ExtJS中是无效的
- JS代码在jsbin中有效,在jsfiddle或Chrome/Safari中无效
- 如何使用JavaScript粘贴原始二进制文件而不出现“无效字符”错误
- Xpath对Selenium Web驱动程序无效”;Xpath未找到”;
- Taiga前端提交自定义属性更改,即使无效