Skip to content

Commit ea86437

Browse files
fixing validation around the model to have better messages (#167)
1 parent d332fe3 commit ea86437

File tree

4 files changed

+24
-4
lines changed

4 files changed

+24
-4
lines changed

electron/app/locales/en/webui.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@
214214
"model-design-button-startWebLogicRemoteConsole": "Start WebLogic Remote Console",
215215
"model-design-hints-startWebLogicRemoteConsole": "Start the WebLogic Remote Console backend process",
216216

217+
"model-code-form-name": "Code View tab of the Model",
217218
"image-page-hints-createImage": "Create Primary Image",
218219
"image-page-button-createImage": "Create Primary Image",
219220
"image-page-hints-pushImage": "Push Primary Image to Registry",
@@ -1082,7 +1083,7 @@
10821083
"model-page-hints-validateModel": "Validate Model Files",
10831084
"model-page-button-prepareModel": "Prepare Model",
10841085
"model-page-hints-prepareModel": "Prepare Model for Kubernetes",
1085-
"model-page-model-editor-contents": "Model Editor Contents",
1086+
"model-page-model-editor-contents": "Model Editor",
10861087

10871088
"model-properties-table-aria-label": "Model Variables Editable Table",
10881089
"model-properties-name-header": "Variable Name",
@@ -1351,7 +1352,8 @@
13511352
"validation-helper-form-tab-and-field-name-message": "The {{fieldName}} field on the {{tabName}} tab of the {{formName}} page is invalid:",
13521353
"validation-helper-form-tab-sub-tab-and-field-name-message": "The {{fieldName}} field on the {{tabName}}->{{subTabName}} tab of the {{formName}} page is invalid:",
13531354
"validation-helper-validate-field-value-is-not-defined": "The field is required but its value is not defined.",
1354-
"validation-helper-validate-string-field-value-is-empty": "The field is required but its value contained no non-whitespace characters.",
1355+
"validation-helper-validate-string-field-value-is-empty": "The field is required but its value was empty.",
1356+
"validation-helper-validate-string-field-value-is-only-whitespace": "The field is required but its value contained no non-whitespace characters.",
13551357
"validation-helper-validate-array-field-value-is-empty": "The field is required but the list is empty.",
13561358
"validation-helper-field-error-message": "The {{fieldName}} field is invalid: {{error}}",
13571359
"validation-helper-form-and-field-error-message": "The {{fieldName}} field on the {{formName}} page is invalid: {{error}}",

webui/src/js/models/wdt-model-definition.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ define(['knockout', 'utils/observable-properties', 'js-yaml', 'utils/validation-
6363
this.validateModel = (isRequired = true) => {
6464
let errors = [];
6565
if (isRequired) {
66-
const emptyFieldError = validationHelper.validateRequiredField(this.modelContent());
66+
const emptyFieldError = validationHelper.validateRequiredFieldContainsNonWhitespaceCharacters(this.modelContent());
6767
if (emptyFieldError) {
6868
errors.push(emptyFieldError);
6969
} else {

webui/src/js/utils/validation-helper.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,10 @@ function(i18n, Validator, ojvalidationError, RegExpValidator, LengthValidator, N
103103
return _validateRequiredFieldValue(currentValue);
104104
};
105105

106+
this.validateRequiredFieldContainsNonWhitespaceCharacters = (currentValue) => {
107+
return _validateRequiredFieldValueContainsNonWhitespaceCharacters(currentValue);
108+
};
109+
106110
this.getRequiredFieldValidators = () => {
107111
return [
108112
{
@@ -349,6 +353,20 @@ function(i18n, Validator, ojvalidationError, RegExpValidator, LengthValidator, N
349353
return requiredMessage;
350354
}
351355

356+
function _validateRequiredFieldValueContainsNonWhitespaceCharacters(value) {
357+
let nonWhiteSpaceRegex = /\w+/g;
358+
359+
let requiredMessage;
360+
if (value === undefined || value === null) {
361+
requiredMessage = i18n.t('validation-helper-validate-field-value-is-not-defined');
362+
} else if (value === '') {
363+
requiredMessage = i18n.t('validation-helper-validate-string-field-value-is-empty');
364+
} else if (!value.match(nonWhiteSpaceRegex)) {
365+
requiredMessage = i18n.t('validation-helper-validate-string-field-value-is-only-whitespace');
366+
}
367+
return requiredMessage;
368+
}
369+
352370
const K8S_CPU_REGEX = [ /^[1-9]\d*[Mm]?$/, /^\d+(\.\d{1,3})?$/, /^0\.\d{1,3}$/ ];
353371
const K8S_CPU_HELP_URL = 'https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu';
354372
function _validateK8sCpuValue(value) {

webui/src/js/utils/wdt-actions-base.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ define(['utils/wkt-actions-base', 'utils/validation-helper', 'utils/dialog-helpe
2323
validationHelper.validateRequiredField(this.project.settings.oracleHome.value), settingsFormConfig);
2424

2525
const modelFormConfig = validationObject.getDefaultConfigObject();
26-
modelFormConfig.formName = 'model-design-form-name';
26+
modelFormConfig.formName = 'model-code-form-name';
2727
validationObject.addField('model-page-model-editor-contents',
2828
this.project.wdtModel.validateModel(true), modelFormConfig);
2929

0 commit comments

Comments
 (0)