Add validation for mobile

This commit is contained in:
Peter Maquiran
2021-07-05 15:28:54 +01:00
parent b0ab5a7eb9
commit ba2af92a6d
12 changed files with 62 additions and 34 deletions
@@ -83,7 +83,7 @@
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class">
<div class="ion-input-class" [class.input-error]="Form?.get('Date')?.invalid && validateFrom ">
<ion-datetime
class="d-block d-md-none"
placeholder="Início*"
@@ -91,8 +91,8 @@
displayFormat="D MMM YYYY H:mm"
minuteValues="0,15,30,45"
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
min="2018"
max="2022"
min="{{ionicMinDate}}"
max="2025"
value="2020-11-19T11:06Z">
</ion-datetime>
@@ -122,7 +122,7 @@
<div class="ion-icon-class">
<ion-icon slot="start" src="assets/images/icons-calendar.svg"></ion-icon>
</div>
<div class="ion-input-class flex-grow-1">
<div class="ion-input-class flex-grow-1" [class.input-error]="Form?.get('Date')?.invalid && validateFrom ">
<ion-datetime
class="d-block d-md-none"
placeholder="Fim*"
@@ -130,8 +130,8 @@
displayFormat="D MMM YYYY H:mm"
minuteValues="0,15,30,45"
monthShortNames="Jan, Fev, Mar, Abr, Mai, Jun, Jul, Aug, Sep, Out, Nov, Dez"
min="2018"
max="2022"
min="{{ionicMinDate}}"
max="2025"
value="2020-11-19T11:06Z">
</ion-datetime>
@@ -55,6 +55,7 @@ export class BookMeetingModalPage implements OnInit {
public touchUi = false;
public enableMeridian = false;
public minDate = new Date();
public ionicMinDate = new Date().toISOString().slice(0,10)
// curent timestamp + 15 minutes
public endMinDate = new Date(new Date().getTime() + 15 * 60000);
@@ -172,6 +173,14 @@ export class BookMeetingModalPage implements OnInit {
this.validateFrom = true
}
get dateValid() {
if (window.innerWidth <= 800) {
return this.postData.StartDate < this.postData.EndDate? ['ok']: []
} else {
return ['ok']
}
}
injectValidation() {
this.Form = new FormGroup({
@@ -184,7 +193,10 @@ export class BookMeetingModalPage implements OnInit {
]),
CalendarName: new FormControl(this.postData.CalendarName, [
Validators.required
])
]),
Date: new FormControl(this.dateValid, [
Validators.required
]),
// participantes: new FormControl(this.taskParticipantsCc.concat(this.taskParticipants), [
// Validators.required
// ]),
@@ -195,8 +207,11 @@ export class BookMeetingModalPage implements OnInit {
async saveTask(){
this.injectValidation()
this.runValidation()
if(this.loggeduser.Profile == 'MDGPR') {
this.injectValidation()
this.runValidation()
}
if(this.Form.invalid) return false
@@ -57,7 +57,7 @@
interface="action-sheet"
Cancel-text="Cancelar"
required
class="d-md-none"
class="d-block d-md-none"
>
<ion-select-option value="99999861"><b>Normal</b> (4 dias para a execução da tarefa)</ion-select-option>
<ion-select-option value="99999862"><b>Urgente</b> (2 dias para a execução da tarefa)</ion-select-option>
@@ -96,7 +96,7 @@
</div>
<div class="ion-input-class" [class.input-error]="Form?.get('selectedTypes')?.invalid && validateFrom ">
<ion-item
class="ion-no-border ion-no-padding ion-no-margin d-md-none">
class="ion-no-border ion-no-padding ion-no-margin d-block d-md-none">
<ion-select
[(ngModel)]="selectedTypes"
(ngModelChange)="onSelectedTypesChanged($event)"
@@ -166,7 +166,7 @@ export class ExpedientTaskModalPage implements OnInit {
this.modalController.dismiss(null);
}
getSubjectType(){
getSubjectType() {
this.processes.GetSubjectType().subscribe(res=>{
console.log(res);
this.subjectTypes = res;
@@ -196,7 +196,7 @@ export class ExpedientTaskModalPage implements OnInit {
]),
Priority: new FormControl(this.postData.Priority, [
Validators.required,
])
]),
// CalendarName: new FormControl(this.postEvent.CalendarName, [
// Validators.required
// ]),
@@ -215,8 +215,10 @@ export class ExpedientTaskModalPage implements OnInit {
async saveTask(){
this.injectValidation()
this.runValidation()
if(this.loggeduser.Profile == 'MDGPR') {
this.injectValidation()
this.runValidation()
}
if(this.Form.invalid) return false