pristine
означает, что свойства значения «ни одно из полей» не отличаются от их начальных свойств », поэтому, как только одно поле имеет значение, отличное от значений, которые вы инициализировали, для pristine
будет установлено значение false
.используйте эту переменную для включения функции reset()
.
То, что вы хотите сделать, это сделать эти два поля обязательными. Есть два способа сделать это: либо просто установить эти два поля, как требуется, например, так:
<Field
component="TextField"
type="text"
name="authId"
placeholder="Enter an auth-Id..."
required
/>
Или вы выполните Пример проверки на уровне поля и добавите проверку required
:
const required = value => (value ? undefined : 'Required');
render() {
return (
<form onSubmit={handleSubmit(this.submit)}>
<div id="authId-searchbar">
<Field
component="TextField"
type="text"
name="authId"
placeholder="Enter an auth-Id..."
validate={required}
/>
</div>
<Field
component="Dropdown"
header="Choose a credential type"
name="type"
items={[
{ value: "product a", id: 1 },
{ value: "product b", id: 2 }
]}
validate={required}
/>
<button
type="submit"
disabled={pristine || submitting}
>
<SaveIcon />
</button>
</form>
);
}