Do proper validation of the server node.

This commit is contained in:
Ashesh Vashi
2016-06-03 06:29:23 +05:30
parent 57f3cbfa3b
commit 8313bc9b8a

View File

@@ -569,9 +569,9 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
defaults: { defaults: {
gid: undefined, gid: undefined,
id: undefined, id: undefined,
name: null, name: '',
sslmode: 'prefer', sslmode: 'prefer',
host: null, host: '',
port: 5432, port: 5432,
db: 'postgres', db: 'postgres',
username: '{{ username }}', username: '{{ username }}',
@@ -643,21 +643,37 @@ function($, _, S, pgAdmin, pgBrowser, alertify) {
}], }],
validate: function() { validate: function() {
var err = {}, var err = {},
errmsg; errmsg,
self = this;
if (!this.isNew() && 'id' in this.sessAttrs) { var check_for_empty = function(id, msg) {
var v = self.get(id);
if (
_.isUndefined(v) || String(v).replace(/^\s+|\s+$/g, '') == ''
) {
err[id] = msg;
errmsg = errmsg || msg;
} else {
self.errorModel.unset(id);
}
}
if (!self.isNew() && 'id' in self.sessAttrs) {
err['id'] = '{{ _('The ID can not be changed.') }}';; err['id'] = '{{ _('The ID can not be changed.') }}';;
errmsg = err['id']; errmsg = err['id'];
} else {
self.errorModel.unset('id');
} }
if (_.isUndefined(this.get('name')) || String(this.get('name')).replace(/^\s+|\s+$/g, '') == '') { check_for_empty('name', '{{ _('Name must be specified.') }}');
err['name'] = '{{ _('Name must be specified.') }}'; check_for_empty(
errmsg = errmsg || err['name']; 'host', '{{ _('Hostname or address must be specified.') }}'
} );
if (_.isUndefined(this.get('host')) || this.get('host') == null || String(this.get('host')).replace(/^\s+|\s+$/g, '') == '') { check_for_empty(
err['host'] = '{{ _('Hostname or address must be specified.') }}'; 'db', '{{ _('Maintenance database must be specified.') }}'
errmsg = errmsg || err['host']; );
} check_for_empty(
'username', '{{ _('Username must be specified.') }}'
);
this.errorModel.set(err); this.errorModel.set(err);
if (_.size(err)) { if (_.size(err)) {