本文整理汇总了TypeScript中forms/form.Form.hasErrors方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Form.hasErrors方法的具体用法?TypeScript Form.hasErrors怎么用?TypeScript Form.hasErrors使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类forms/form.Form
的用法示例。
在下文中一共展示了Form.hasErrors方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: DraftService
ErrorHandling.apply(async (req: express.Request, res: express.Response) => {
const form: Form<Availability> = req.body
if (form.hasErrors()) {
renderPage(res, form)
} else {
const draft: Draft<DirectionsQuestionnaireDraft> = res.locals.draft
const user = res.locals.user
draft.document.availability = form.model
draft.document.availability.unavailableDates = [...form.model.unavailableDates, form.model.newDate]
.filter(date => !!date)
.sort((date1, date2) => date1.toMoment().diff(date2.toMoment()))
.map(date => LocalDate.fromObject(date))
delete draft.document.availability.newDate
if (!req.body.rawData.addDate && !form.model.hasUnavailableDates) {
delete draft.document.availability.unavailableDates
}
await new DraftService().save(draft, user.bearerToken)
if (req.body.rawData.addDate) {
renderPage(res, form)
} else {
res.redirect(Paths.supportPage.evaluateUri({ externalId: res.locals.claim.externalId }))
}
}
}))
示例2: DraftService
ErrorHandling.apply(async (req: express.Request, res: express.Response) => {
const form: Form<Employment> = req.body
if (form.hasErrors()) {
res.render(page.associatedView, { form: form })
} else {
const draft: Draft<ResponseDraft> = res.locals.responseDraft
const user: User = res.locals.user
draft.document.statementOfMeans.employment = form.model
if (form.model.declared) {
draft.document.statementOfMeans.unemployment = undefined
} else {
draft.document.statementOfMeans.employers = draft.document.statementOfMeans.selfEmployment = undefined
}
await new DraftService().save(draft, user.bearerToken)
const { externalId } = req.params
if (form.model.declared === false) {
res.redirect(StatementOfMeansPaths.unemployedPage.evaluateUri({ externalId: externalId }))
} else {
if (form.model.employed) {
res.redirect(StatementOfMeansPaths.employersPage.evaluateUri({ externalId: externalId }))
} else {
res.redirect(StatementOfMeansPaths.selfEmploymentPage.evaluateUri({ externalId: externalId }))
}
}
}
})
示例3: Error
ErrorHandling.apply(async (req: express.Request, res: express.Response, next: express.NextFunction): Promise<void> => {
const form: Form<DateOfBirth> = req.body
const claim: Claim = res.locals.claim
if (form.hasErrors()) {
if (form.errors.some(error => error.message.search(dateUnder18Pattern) >= 0)) {
res.redirect(Paths.under18Page.evaluateUri({ externalId: claim.externalId }))
} else {
renderView(form, res)
}
} else {
const draft: Draft<ResponseDraft> = res.locals.responseDraft
const user: User = res.locals.user
switch (draft.document.defendantDetails.partyDetails.type) {
case PartyType.INDIVIDUAL.value:
(draft.document.defendantDetails.partyDetails as IndividualDetails).dateOfBirth = form.model
break
default:
throw Error('Date of birth is only supported for defendant types individual and sole trader')
}
await new DraftService().save(draft, user.bearerToken)
res.redirect(Paths.defendantMobilePage.evaluateUri({ externalId: claim.externalId }))
}
}))
示例4: DraftService
ErrorHandling.apply(async (req: express.Request, res: express.Response, next: express.NextFunction) => {
const form: Form<InterestType> = req.body
if (form.hasErrors()) {
renderView(form, res)
} else {
const draft: Draft<DraftClaim> = res.locals.claimDraft
const user: User = res.locals.user
if (form.model.option === InterestTypeOption.SAME_RATE) {
draft.document.interestTotal = undefined
draft.document.interestContinueClaiming = undefined
draft.document.interestHowMuch = undefined
} else {
draft.document.interestRate = undefined
draft.document.interestDate = undefined
draft.document.interestStartDate = undefined
draft.document.interestEndDate = undefined
}
draft.document.interestType = form.model
await new DraftService().save(draft, user.bearerToken)
if (form.model.option === InterestTypeOption.SAME_RATE) {
res.redirect(Paths.interestRatePage.uri)
} else {
res.redirect(Paths.interestTotalPage.uri)
}
}
}))
示例5: DraftService
ErrorHandling.apply(async (req: express.Request, res: express.Response): Promise<void> => {
const form: Form<ExpertReports> = req.body
if (form.hasErrors()) {
renderView(form, res)
} else {
const claim: Claim = res.locals.claim
const draft: Draft<DirectionsQuestionnaireDraft> = res.locals.draft
const user: User = res.locals.user
form.model.removeExcessRows()
draft.document.expertReports = form.model
const declared: boolean = draft.document.expertReports.declared
if (!declared) {
draft.document.expertReports.rows = []
}
await new DraftService().save(draft, user.bearerToken)
if (declared) {
res.redirect(Paths.selfWitnessPage.evaluateUri({ externalId: claim.externalId }))
} else {
res.redirect(Paths.expertGuidancePage.evaluateUri({ externalId: claim.externalId }))
}
}
})
示例6: DraftService
ErrorHandling.apply(async (req: express.Request, res: express.Response, next: express.NextFunction): Promise<void> => {
const { externalId } = req.params
const form: Form<Response> = req.body
if (form.hasErrors()) {
renderView(form, res)
} else {
const claim: Claim = res.locals.claim
const draft: Draft<ResponseDraft> = res.locals.responseDraft
const user: User = res.locals.user
draft.document.response = form.model
if (draft.document.response.type === ResponseType.FULL_ADMISSION) {
if (!draft.document.fullAdmission) {
draft.document.fullAdmission = new FullAdmission()
}
delete draft.document.partialAdmission
delete draft.document.freeMediation
} else if (draft.document.response.type === ResponseType.PART_ADMISSION) {
if (!draft.document.partialAdmission) {
draft.document.partialAdmission = new PartialAdmission()
}
delete draft.document.fullAdmission
delete draft.document.rejectAllOfClaim
delete draft.document.freeMediation
} else {
delete draft.document.fullAdmission
delete draft.document.partialAdmission
delete draft.document.statementOfMeans
}
await new DraftService().save(draft, user.bearerToken)
switch (draft.document.response.type) {
case ResponseType.DEFENCE:
res.redirect(Paths.defenceRejectAllOfClaimPage.evaluateUri({ externalId: externalId }))
break
case ResponseType.PART_ADMISSION:
if (FeatureToggles.hasAnyAuthorisedFeature(claim.features, 'admissions')) {
res.redirect(PartAdmissionPaths.alreadyPaidPage.evaluateUri({ externalId: externalId }))
} else {
res.redirect(Paths.sendYourResponseByEmailPage.evaluateUri({ externalId: externalId }))
}
break
case ResponseType.FULL_ADMISSION:
if (FeatureToggles.hasAnyAuthorisedFeature(claim.features, 'admissions')) {
res.redirect(Paths.taskListPage.evaluateUri({ externalId: claim.externalId }))
} else {
res.redirect(Paths.sendYourResponseByEmailPage.evaluateUri({ externalId: externalId }))
}
break
default:
next(new Error(`Unknown response type: ${draft.document.response.type}`))
}
}
}))
示例7: DraftService
ErrorHandling.apply(async (req: express.Request, res: express.Response, next: express.NextFunction): Promise<void> => {
const claim: Claim = res.locals.claim
const form: Form<CanWeUseCompany> = req.body
if (form.hasErrors()) {
renderView(form, res)
} else {
const draft: Draft<MediationDraft> = res.locals.mediationDraft
const user: User = res.locals.user
draft.document.canWeUseCompany = form.model
if (form.model.option === FreeMediationOption.YES) {
draft.document.canWeUseCompany.mediationContactPerson = undefined
draft.document.canWeUseCompany.mediationPhoneNumber = undefined
} else {
draft.document.canWeUseCompany.mediationPhoneNumberConfirmation = undefined
}
await new DraftService().save(draft, user.bearerToken)
if (!claim.isResponseSubmitted()) {
res.redirect(ResponsePaths.taskListPage.evaluateUri({ externalId: claim.externalId }))
} else {
res.redirect(ClaimantResponsePaths.taskListPage.evaluateUri({ externalId: claim.externalId }))
}
}
})
示例8: async
async (req: express.Request, res: express.Response, next: express.NextFunction): Promise<void> => {
const form: Form<CCJPaymentOption> = req.body
if (form.hasErrors()) {
res.render(Paths.paymentOptionsPage.associatedView, { form: form })
} else {
const draft: Draft<DraftCCJ> = res.locals.ccjDraft
const user: User = res.locals.user
draft.document.paymentOption = form.model
if (form.model.option === PaymentType.IMMEDIATELY) {
draft.document.repaymentPlan = undefined
draft.document.payBySetDate = undefined
}
await new DraftService().save(draft, user.bearerToken)
const { externalId } = req.params
switch (form.model.option) {
case PaymentType.IMMEDIATELY:
res.redirect(Paths.checkAndSendPage.evaluateUri({ externalId: externalId }))
break
case PaymentType.BY_SPECIFIED_DATE:
res.redirect(Paths.payBySetDatePage.evaluateUri({ externalId: externalId }))
break
case PaymentType.INSTALMENTS:
res.redirect(Paths.repaymentPlanPage.evaluateUri({ externalId: externalId }))
break
}
}
}))
示例9: DraftService
ErrorHandling.apply(async (req: express.Request, res: express.Response): Promise<void> => {
const form: Form<RejectAllOfClaim> = req.body
if (form.hasErrors()) {
renderView(form, res)
} else {
const draft: Draft<ResponseDraft> = res.locals.responseDraft
const user: User = res.locals.user
draft.document.rejectAllOfClaim = form.model
await new DraftService().save(draft, user.bearerToken)
const { externalId } = req.params
switch (draft.document.rejectAllOfClaim.option) {
case RejectAllOfClaimOption.COUNTER_CLAIM:
res.redirect(Paths.sendYourResponseByEmailPage.evaluateUri({ externalId: externalId }))
break
case RejectAllOfClaimOption.ALREADY_PAID:
case RejectAllOfClaimOption.DISPUTE:
res.redirect(Paths.taskListPage.evaluateUri({ externalId: externalId }))
break
default:
throw new Error(`Unknown rejection option: ${draft.document.rejectAllOfClaim.option}`)
}
}
}))
示例10: DraftService
ErrorHandling.apply(async (req: express.Request, res: express.Response, next: express.NextFunction) => {
const form: Form<HearingLocation> = req.body
if (form.hasErrors()) {
renderPage(res, form, false)
} else {
try {
const draft: Draft<DirectionsQuestionnaireDraft> = res.locals.draft
const user: User = res.locals.user
if (form.model.courtAccepted === YesNoOption.NO && form.model.alternativeOption === AlternativeCourtOption.BY_POSTCODE) {
const court: Court = await getNearestCourt(form.model.alternativePostcode)
if (court !== undefined) {
form.model = new HearingLocation(court.name, form.model.alternativePostcode)
}
renderPage(res, form, court === undefined)
} else {
if (form.model.courtAccepted === undefined) {
draft.document.hearingLocation = form.model.alternativeCourtName
} else {
draft.document.hearingLocation = form.model.courtName
}
await new DraftService().save(draft, user.bearerToken)
res.redirect(Paths.expertPage.evaluateUri({ externalId: res.locals.claim.externalId }))
}
} catch (err) {
next(err)
}
}
}))