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;
}