Edit in JSFiddle

function ViewModel() {
    var self = this;

    self.Email = ko.observable().extend({
        required: true,
        email: true
    });

    self.Password = ko.observable().extend({
        required: true,
        pattern: /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,16}$/
    });

    self.Password2 = ko.observable().extend({
        required: true,
        equal: self.Password
    });

    self.Name = ko.observable().extend({
        required: true,
        minLength: 2,
        maxLength: 30
    });

    self.Register = function () {

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

        if (self.isValid()) {
            alert('data sent');
        } else {
            self.errors.showAllMessages();
        }
    };
}

ko.validation.configure();
ko.applyBindingsWithValidation(new ViewModel());
<div>Registration Form</div>
<div>Email:
    <input type="text" data-bind="value: Email" />
</div>
<div>Password:
    <input type="text" data-bind="value: Password" />
</div>
<div>Confirm Your Password:
    <input type="text" data-bind="value: Password2" />
</div>
<div>Name:
    <input type="text" data-bind="value: Name" />
</div>
<div>
    <input type="button" value="Register" data-bind="click: Register" />
</div>