yesno field value true/false & validation on picklist
This commit is contained in:
@@ -774,18 +774,35 @@ const RenderYesNo = ({
|
|||||||
component="input"
|
component="input"
|
||||||
type="radio"
|
type="radio"
|
||||||
className="govuk-radios__input"
|
className="govuk-radios__input"
|
||||||
value={options[key]}
|
value={
|
||||||
|
options[key] == "Yes" ||
|
||||||
|
options[key] == "Ydw"
|
||||||
|
? true
|
||||||
|
: false
|
||||||
|
}
|
||||||
//checked={value == options[key]}
|
//checked={value == options[key]}
|
||||||
|
|
||||||
|
checked={
|
||||||
|
typeof value != "undefined" &&
|
||||||
|
value ==
|
||||||
|
(options[key] == "Yes" ||
|
||||||
|
options[key] == "Ydw"
|
||||||
|
? "true"
|
||||||
|
: "false")
|
||||||
|
}
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
let docListObj = custom.documentList;
|
let docListObj = custom.documentList;
|
||||||
if (
|
if (
|
||||||
custom.requiredDocumentValue ==
|
custom.requiredDocumentValue ==
|
||||||
"Yes" ||
|
"Yes" ||
|
||||||
custom.requiredDocumentValue ==
|
custom.requiredDocumentValue ==
|
||||||
"Ydw"
|
"Ydw" ||
|
||||||
|
custom.requiredDocumentValue ==
|
||||||
|
"true"
|
||||||
) {
|
) {
|
||||||
e.target.value == "Ydw" ||
|
e.target.value == "Ydw" ||
|
||||||
e.target.value == "Yes"
|
e.target.value == "Yes" ||
|
||||||
|
e.target.value == "true"
|
||||||
? (docListObj = Object.assign(
|
? (docListObj = Object.assign(
|
||||||
docListObj,
|
docListObj,
|
||||||
{
|
{
|
||||||
@@ -855,7 +872,7 @@ export function YesNofield(props) {
|
|||||||
options={yesNo}
|
options={yesNo}
|
||||||
id={props.name}
|
id={props.name}
|
||||||
className={"govuk-radios__input"}
|
className={"govuk-radios__input"}
|
||||||
validate={eval(validation)}
|
validate={[required]}
|
||||||
errorMsg={t("newappeal:select-an-option-label")}
|
errorMsg={t("newappeal:select-an-option-label")}
|
||||||
component={RenderYesNo}
|
component={RenderYesNo}
|
||||||
inline={_.has(props, "inline") ? props.inline : "true"}
|
inline={_.has(props, "inline") ? props.inline : "true"}
|
||||||
@@ -873,7 +890,7 @@ export function YesNofield(props) {
|
|||||||
options={yesNo}
|
options={yesNo}
|
||||||
id={props.name}
|
id={props.name}
|
||||||
className={"govuk-radios__input"}
|
className={"govuk-radios__input"}
|
||||||
validate={eval(validation)}
|
validate={[required]}
|
||||||
errorMsg={t("newappeal:select-an-option-label")}
|
errorMsg={t("newappeal:select-an-option-label")}
|
||||||
component={RenderYesNo}
|
component={RenderYesNo}
|
||||||
inline={_.has(props, "inline") ? props.inline : "true"}
|
inline={_.has(props, "inline") ? props.inline : "true"}
|
||||||
@@ -1175,10 +1192,12 @@ export function CheckBoxfield(props) {
|
|||||||
const RenderPickList = ({
|
const RenderPickList = ({
|
||||||
datafieldname,
|
datafieldname,
|
||||||
picklistData,
|
picklistData,
|
||||||
|
id,
|
||||||
name,
|
name,
|
||||||
label,
|
label,
|
||||||
input,
|
input,
|
||||||
meta: { touched, errorStr },
|
errorMsg,
|
||||||
|
meta: { touched, error },
|
||||||
}) => {
|
}) => {
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
|
|
||||||
@@ -1187,56 +1206,70 @@ const RenderPickList = ({
|
|||||||
picklistData
|
picklistData
|
||||||
);
|
);
|
||||||
dropdownObj = dropdownObj[0];
|
dropdownObj = dropdownObj[0];
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<select
|
|
||||||
{...input}
|
|
||||||
className="govuk-select "
|
|
||||||
id={label}
|
|
||||||
name={label}
|
|
||||||
>
|
|
||||||
<option>{t("newappeal:select-default")}</option>
|
|
||||||
{Object.keys(dropdownObj).map((key, index) => {
|
|
||||||
return (
|
|
||||||
<option key={key} value={dropdownObj[key].Value}>
|
|
||||||
{PickListTranslations(
|
|
||||||
dropdownObj[key].Label.LocalizedLabels[0].Label
|
|
||||||
)}
|
|
||||||
</option>
|
|
||||||
);
|
|
||||||
})}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
{touched && errorStr && <span>{errorStr}</span>}
|
const required = (value) => {
|
||||||
</div>
|
return value || value == 0 ? undefined : "Requirewwwd";
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div
|
||||||
|
className={
|
||||||
|
touched && error
|
||||||
|
? "govuk-form-group govuk-form-group--error"
|
||||||
|
: "govuk-form-group "
|
||||||
|
}
|
||||||
|
>
|
||||||
|
<label className="govuk-label " htmlFor={id} id={id + "_label"}>
|
||||||
|
{FieldsTranslations(label)}
|
||||||
|
</label>
|
||||||
|
{touched && error && (
|
||||||
|
<span id={id + "-error"} className="govuk-error-message">
|
||||||
|
<span className="govuk-visually-hidden">Error:</span>{" "}
|
||||||
|
{error}
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
<select
|
||||||
|
{...input}
|
||||||
|
className="govuk-select "
|
||||||
|
id={label}
|
||||||
|
name={label}
|
||||||
|
>
|
||||||
|
<option>{t("newappeal:select-default")}</option>
|
||||||
|
{Object.keys(dropdownObj).map((key, index) => {
|
||||||
|
return (
|
||||||
|
<option key={key} value={dropdownObj[key].Value}>
|
||||||
|
{PickListTranslations(
|
||||||
|
dropdownObj[key].Label.LocalizedLabels[0]
|
||||||
|
.Label
|
||||||
|
)}
|
||||||
|
</option>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export function PickList(props) {
|
export function PickList(props) {
|
||||||
const { name, label, datafieldname, hint } = props;
|
const { name, label, datafieldname, hint } = props;
|
||||||
let { t } = useTranslation();
|
let { t } = useTranslation();
|
||||||
|
const required = (value) => {
|
||||||
|
return value || value == 0 ? undefined : "Is required";
|
||||||
|
};
|
||||||
return (
|
return (
|
||||||
<div className="govuk-form-group">
|
<Field
|
||||||
<label className="govuk-label govuk-body-m" htmlFor={props.name}>
|
name={props.name}
|
||||||
{FieldsTranslations(label)}
|
id={props.name}
|
||||||
</label>
|
label={props.label}
|
||||||
<div
|
component={RenderPickList}
|
||||||
id={props.name + "-hint"}
|
datafieldname={datafieldname}
|
||||||
className="govuk-hint govuk-!-font-size-14"
|
picklistData={props.picklistData}
|
||||||
>
|
hint={props.hint}
|
||||||
{props.hasOwnProperty("hint") &&
|
errorMsg="Is required"
|
||||||
props.hint != false &&
|
validate={[required]}
|
||||||
t(props.hint)}{" "}
|
/>
|
||||||
</div>
|
|
||||||
<Field
|
|
||||||
name={props.name}
|
|
||||||
label={props.name}
|
|
||||||
component={RenderPickList}
|
|
||||||
datafieldname={datafieldname}
|
|
||||||
picklistData={props.picklistData}
|
|
||||||
hint={props.hint}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1251,7 +1284,7 @@ export function NumericField(props) {
|
|||||||
parentField,
|
parentField,
|
||||||
} = props;
|
} = props;
|
||||||
const required = (value) => {
|
const required = (value) => {
|
||||||
return value || value == 0 ? undefined : "Requirewwwd";
|
return value || value == 0 ? undefined : "Is required";
|
||||||
};
|
};
|
||||||
|
|
||||||
//parentFieldShowOnValue
|
//parentFieldShowOnValue
|
||||||
@@ -1324,7 +1357,7 @@ export function DecimalField(props) {
|
|||||||
parentField,
|
parentField,
|
||||||
maxFieldLength,
|
maxFieldLength,
|
||||||
} = props;
|
} = props;
|
||||||
const required = (value) => (value ? undefined : "Required");
|
const required = (value) => (value ? undefined : "Is required");
|
||||||
|
|
||||||
//parentFieldShowOnValue
|
//parentFieldShowOnValue
|
||||||
var showIfHasParentShowValue =
|
var showIfHasParentShowValue =
|
||||||
|
|||||||
Reference in New Issue
Block a user