Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用选择绑定进行敲除验证不添加ErrorElement.css_Javascript_Html_Knockout.js_Knockout Validation - Fatal编程技术网

Javascript 使用选择绑定进行敲除验证不添加ErrorElement.css

Javascript 使用选择绑定进行敲除验证不添加ErrorElement.css,javascript,html,knockout.js,knockout-validation,Javascript,Html,Knockout.js,Knockout Validation,我正在使用knockout,希望用户在html选择标记中选择一个项。 默认情况下,选择空值 <select required> <option value="">--Select something</option> <option value="True">True</option> <option value="False">False</op

我正在使用knockout,希望用户在html选择标记中选择一个项。 默认情况下,选择空值

<select required>
            <option value="">--Select something</option>
            <option value="True">True</option>
            <option value="False">False</option>
我希望下面的绑定会有所帮助

<select data-bind="value: sampleBooleanValue" required>

 ....
</select>

....
验证工作正常,但没有向select标记添加css类。 有人能告诉我为什么这不起作用吗?
另外,它与另一个输入标签一起工作。

我在一个更复杂的模型上也经历过同样的情况,其中没有应用错误类,在本例中,我创建了一个selectedItemNotCaption验证器,并且在

必需:true
没有的情况下工作(我相信这可能是由于我的加价错误导致的,我没有关闭该网站,但这确实起到了作用,使我能够进一步调查)

尝试下面的自定义验证器,使用


您是否验证了该类没有添加到选择列表DOM元素?或者您只是假设它没有添加到选择列表DOM元素,因为css视觉效果没有显示?我验证了它只添加了空类atribute,没有类名(示例:),您可以发布您的
ko.validation.init(/*options object*/);
调用,以配置添加类名。您确定标记中没有任何错误吗?您可以发布一个fiddle吗?
<select data-bind="value: sampleBooleanValue" required>

 ....
</select>
model = function () {
var self = this;
self.optionsAvailable = ['one', 'two'];

self.selectedOptionWithRequired = ko.observable().extend({
    required: true
});

self.selectedOption = ko.observable().extend({
    selectedItemNotCaption: true
});

self.submit = function () {
    console.log("checking for errors...");
    self.errors.showAllMessages();
};

self.errors = ko.validation.group(self);
};

ko.validation.configure({
insertMessages: false,
decorateElement: true,
errorElementClass: 'error'
});

ko.validation.rules['selectedItemNotCaption'] = {
validator: function (val) {
    console.log("in validator..." + val);
    return (typeof val != "undefined");
},
message: 'Please select an option'
};

ko.validation.registerExtenders();

ko.applyBindings(new model());