Html5表单验证需要和禁用的元素

问题描述:

我意识到你不应该禁用一个元素,也需要它,因为如果用户禁用它,用户怎么能使它有效?Html5表单验证需要和禁用的元素

但是,我有一个<select>的产品,我希望我的用户从中进行选择。当他们选择其中一个产品<select>时,该产品的型号只有在产品有一个或多个型号时才会填充,启用和需要。否则,模型选择将被禁用并清空。

虽然我喜欢认为自己的代码是完美的,但我可以让模型从未被禁用,同时也是不需要的,我并不完美。那么,该表单是否可以提交<select>已禁用且必需?

更新从w3.org两者

约束验证:如果元素是必需的,并且它的值IDL属性适用,是在模式值,和元件是可变的,并且元素的值是空字符串,那么该元素正在遭受丢失。

查找具体是什么意思是“可变的”。

表单控件可以被指定为可变的。

注意:这决定了(通过本规范中的定义和要求,依赖于是否指定了某个元素),用户是否可以修改表单控件的值或检查,或者是否控制可以自动预填。

选择没有值,所以它由它的选项决定。

select元素没有值;其选项元素的选择是用来代替的。

所以,我认为,这意味着如果一个<select>因素是残疾人和需要,形式可以被认为是有效的?

+0

请您详细说明-1吗?我想知道在“最坏情况”情况下会发生什么。 – GreeKatrina

+0

尽量保持您的问题目标。 –

+1

@AlexTartan它是客观的。无论是表单验证与否。 – GreeKatrina

http://www.w3.org/TR/html5/forms.html#enabling-and-disabling-form-controls:-the-disabled-attribute

约束验证:如果一个元素被禁用,它是约束验证禁止。

http://www.w3.org/TR/html5/forms.html#barred-from-constraint-validation

甲submittable元件是候选约束验证当某条件除了从约束验证禁止的元素。

最后,从约束的验证步骤清单,http://www.w3.org/TR/html5/forms.html#constraint-validation

3.1:如果字段不是用于约束验证的候选者,然后移动到下一个元素。


这意味着,禁用元素将刚需“通过对”当形式有效性检查。

它不会触发任何错误,也不会影响其所属窗体的验证状态。

+0

谢谢!显然,我只是没有看到文档的正确位置。 – GreeKatrina