Signup form bugfixes: required radio inputs & require input for some question types
This commit is contained in:
@@ -85,6 +85,7 @@ class OptionsWidget extends React.Component<OptionsWidgetProps> {
|
||||
placeholder="Write something informative"
|
||||
value={questions[index].options}
|
||||
onChange={this.handleTextOptionsChange(questions, index)}
|
||||
required
|
||||
/>
|
||||
{this.requiredField()}
|
||||
</>
|
||||
@@ -117,8 +118,8 @@ class OptionsWidget extends React.Component<OptionsWidgetProps> {
|
||||
placeholder="Yes;no;maybe"
|
||||
value={joinedValue}
|
||||
onChange={this.handleListOptionsChange(questions, index)}
|
||||
required
|
||||
/>
|
||||
{this.requiredField()}
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -133,6 +134,7 @@ class OptionsWidget extends React.Component<OptionsWidgetProps> {
|
||||
placeholder="A;B;C"
|
||||
value={joinedValue}
|
||||
onChange={this.handleListOptionsChange(questions, index)}
|
||||
required
|
||||
/>
|
||||
{this.requiredField()}
|
||||
</>
|
||||
|
||||
@@ -116,6 +116,15 @@ export const buildFormSchema = (signUpForm: SignupForm) => {
|
||||
|
||||
export const buildValidationSchema = (questions: Question[]) => {
|
||||
let schemaProps = {};
|
||||
|
||||
// Force every radiobutton to be required field
|
||||
questions.forEach((q) => {
|
||||
if (q.type === "radiobutton") {
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
q.required = true;
|
||||
}
|
||||
});
|
||||
|
||||
const requiredIds = questions.filter((q) => q.required).map((q) => q.id);
|
||||
const schemaPropsArray = questions.map(questionToValidationSchema);
|
||||
schemaPropsArray.forEach((schemaProp) => {
|
||||
|
||||
Reference in New Issue
Block a user