#726 required validator for 'attach' widget

This commit is contained in:
Denys Vuika
2016-09-14 20:50:59 +01:00
parent 3878ea29a4
commit 2d5944c8bf
3 changed files with 26 additions and 4 deletions

View File

@@ -35,7 +35,8 @@ export class RequiredFieldValidator implements FormFieldValidator {
FormFieldTypes.DROPDOWN, FormFieldTypes.DROPDOWN,
FormFieldTypes.PEOPLE, FormFieldTypes.PEOPLE,
FormFieldTypes.FUNCTIONAL_GROUP, FormFieldTypes.FUNCTIONAL_GROUP,
FormFieldTypes.RADIO_BUTTONS FormFieldTypes.RADIO_BUTTONS,
FormFieldTypes.UPLOAD
]; ];
isSupported(field: FormFieldModel): boolean { isSupported(field: FormFieldModel): boolean {
@@ -60,6 +61,10 @@ export class RequiredFieldValidator implements FormFieldValidator {
return !!option; return !!option;
} }
if (field.type === FormFieldTypes.UPLOAD) {
return field.value && field.value.length > 0;
}
if (!field.value) { if (!field.value) {
return false; return false;
} }

View File

@@ -15,3 +15,19 @@
float: left; float: left;
margin-top: 4px; margin-top: 4px;
} }
.upload-widget__invalid .upload-widget__label {
color: #d50000;
}
.upload-widget__invalid .upload-widget__label:after {
background-color: #d50000;
}
.upload-widget__invalid .upload-widget__file {
color: #d50000;
}
.upload-widget__invalid .mdl-textfield__error {
visibility: visible !important;
}

View File

@@ -1,6 +1,6 @@
<div class="upload-widget"> <div class="upload-widget"
[class.upload-widget__invalid]="!field.isValid">
<label [attr.for]="field.id">{{field.name}}</label> <label class="upload-widget__label" [attr.for]="field.id">{{field.name}}</label>
<div> <div>
<i *ngIf="hasFile" class="material-icons upload-widget__icon">attachment</i> <i *ngIf="hasFile" class="material-icons upload-widget__icon">attachment</i>
<span *ngIf="hasFile" class="upload-widget__file">{{getUploadedFileName()}}</span> <span *ngIf="hasFile" class="upload-widget__file">{{getUploadedFileName()}}</span>
@@ -12,4 +12,5 @@
(change)="onFileChanged($event)"> (change)="onFileChanged($event)">
<button *ngIf="hasFile" (click)="reset(file);" class="upload-widget__reset">X</button> <button *ngIf="hasFile" (click)="reset(file);" class="upload-widget__reset">X</button>
</div> </div>
<span *ngIf="field.validationSummary" class="mdl-textfield__error">{{field.validationSummary}}</span>
</div> </div>