cloudstack 3.0 UI - dialog widget - add new function cloudStack.dialog.createFormField.validation.required.add(), cloudStack.dialog.createFormField.validation.required.remove()

This commit is contained in:
Jessica Wang 2012-05-02 14:00:31 -07:00
parent a794e49545
commit 90ec0a6300
2 changed files with 49 additions and 7 deletions

View File

@ -1257,9 +1257,8 @@
var $form = $(this).closest("form");
var selectedNetworkOfferingId = $(this).val();
$(networkOfferingObjs).each(function(){
if(this.id == selectedNetworkOfferingId) {
//networkoffering.specifyipranges
if(this.guestiptype == "Isolated") {
if(this.id == selectedNetworkOfferingId) {
if(this.guestiptype == "Isolated") {
if(this.specifyipranges == false) {
$form.find('.form-item[rel=guestStartIp]').hide();
$form.find('.form-item[rel=guestEndIp]').hide();
@ -1268,18 +1267,25 @@
$form.find('.form-item[rel=guestStartIp]').css('display', 'inline-block');
$form.find('.form-item[rel=guestEndIp]').css('display', 'inline-block');
}
//cloudStack.dialog.createFormField.validation.required.remove($form.find('.form-item[rel=guestGateway]')); //make guestGateway optional
//cloudStack.dialog.createFormField.validation.required.remove($form.find('.form-item[rel=guestNetmask]')); //make guestNetmask optional
}
else { //this.guestiptype == "Shared"
$form.find('.form-item[rel=guestStartIp]').css('display', 'inline-block');
$form.find('.form-item[rel=guestEndIp]').css('display', 'inline-block');
$form.find('.form-item[rel=guestEndIp]').css('display', 'inline-block');
//cloudStack.dialog.createFormField.validation.required.add($form.find('.form-item[rel=guestGateway]')); //make guestGateway required
//cloudStack.dialog.createFormField.validation.required.add($form.find('.form-item[rel=guestNetmask]')); //make guestNetmask required
}
//networkoffering.specifyvlan
if(this.specifyvlan == false) {
$form.find('.form-item[rel=vlanId]').hide();
//cloudStack.dialog.createFormField.validation.required.remove($form.find('.form-item[rel=vlanId]')); //make vlanId optional
}
else {
$form.find('.form-item[rel=vlanId]').css('display', 'inline-block');
$form.find('.form-item[rel=vlanId]').css('display', 'inline-block');
//cloudStack.dialog.createFormField.validation.required.add($form.find('.form-item[rel=vlanId]')); //make vlanId required
}
return false; //break each loop
}

View File

@ -398,6 +398,42 @@
}).closest('.ui-dialog').overlay();
},
/**
* to change a property(e.g. validation) of a createForm field after a createForm is rendered
*/
createFormField: {
validation: {
required: {
add: function($formField) {
if($formField.find('.name').find('label').find('span.field-required').length == 0) {
$formField.find('.name').find('label').prepend($('<span>').addClass('field-required').html('*'));
var $input = $formField.find('input');
var validationRules = $input.data('validation-rules');
if(validationRules == null)
validationRules = {};
validationRules.required = true;
$input.data('validation-rules', validationRules);
}
},
remove: function($formField) {
if($formField.find('.name').find('label').find('span.field-required').length > 0) {
$formField.find('.name').find('label').find('span.field-required').remove();
var $input = $formField.find('input');
var validationRules = $input.data('validation-rules');
if(validationRules != null && validationRules.required != null)
delete validationRules.required;
$input.data('validation-rules', validationRules);
//$formField.find('.value').find('label.error[generated=true]').remove();
$formField.find('.value').find('label.error').hide();
}
}
}
}
},
/**
* Confirmation dialog
*/