isValidPassengerFields method
bool
isValidPassengerFields()
Implementation
bool isValidPassengerFields() {
DateTime? expiryDate =
DateTime.tryParse(passportExpiryController.text.trim());
DateTime currentDate = DateTime.now();
DateTime oneMonthsLater = currentDate.add(const Duration(days: 30));
if (firstNameController.text.isEmpty) {
CustomFlashWidget.showFlashMessage(
type: FlashType.info,
title: "First Name",
message: "Please enter your first name",
);
return false;
} else if (lastNameController.text.isEmpty) {
CustomFlashWidget.showFlashMessage(
type: FlashType.info,
title: "Last Name",
message: "Please enter your last name",
);
return false;
} else if (selectedNationality.value.isEmpty) {
CustomFlashWidget.showFlashMessage(
type: FlashType.info,
title: "Nationality",
message: "Please select your nationality",
);
return false;
} else if (dobController.text.isEmpty) {
CustomFlashWidget.showFlashMessage(
type: FlashType.info,
title: "Date of Birth",
message: "Please select your date of birth",
);
return false;
} else if (selectedGender.value.isEmpty) {
CustomFlashWidget.showFlashMessage(
type: FlashType.info,
title: "Gender",
message: "Please select your gender",
);
return false;
} else if (passportNumberController.text.isEmpty ||
passportNumberController.text.trim().length < 6) {
CustomFlashWidget.showFlashMessage(
type: FlashType.info,
title: "Passport Number",
message:
"Please enter your passport number containing atleast 6 charcaters",
);
return false;
} else if (selectedPassportCountry.value.isEmpty) {
CustomFlashWidget.showFlashMessage(
type: FlashType.info,
title: "Passport Issuing Country",
message: "Please select your Passport Issuing country",
);
return false;
} else if (passportExpiryController.text.trim().isEmpty) {
CustomFlashWidget.showFlashMessage(
type: FlashType.error,
title: "Invalid passport expiry date",
message: "Please enter your valid passport expiry date",
);
return false;
} else if (expiryDate!.isBefore(oneMonthsLater)) {
PassportExpiredDialog.show();
return false;
}
return true;
}