Required rule for empty values

Required rule applied to empty values

by Cristian Trifan

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-debug.js"></script>
<script src="https://rawgit.com/Knockout-Contrib/Knockout-Validation/master/Dist/knockout.validation.js"></script>
<div>
    <label><var>undefined</var></label>
    <input type="text" data-bind="textInput: field1"/>
</div>
<div>
    <label><var>null</var></label>
    <input type="text" data-bind="textInput: field2"/>
</div>
<div>
    <label><var>empty string</var></label>
    <input type="text" data-bind="textInput: field3"/>
</div>

CSS

.validationMessage {
    color: #b94a48;
}

input {
    padding: 3px 4px;
    margin-bottom: 6px;
    margin-right: 5px;
}

label {
    width: 90px;
    display: inline-block;
}

JavaScript

ko.validation.init({messagesOnModified: false}, true);


var viewModel = {
    field1: ko.observable(undefined).extend({required: true}),
    field2: ko.observable(null).extend({required: true}),
    field3: ko.observable('').extend({required: true}),
};


ko.applyBindings(viewModel);