1

I need to change the alert (Please fill out this field) in React.

Example:

A Form component and an Input component.

PD: I am able to do it in a simple HTML with JS, but I just can't get it working with React

PD2: I know I can use the stated to validate and throw custom error messages, but I just have to do it using the required alert promp

  • 1
    Could you please post some code? – davbuc Aug 31 '18 at 22:17
  • Can you please share your attempts with JS and HTML? Also, have you tried [this](https://stackoverflow.com/questions/5272433/html5-form-required-attribute-set-custom-validation-message) – Pietro Nadalini Aug 31 '18 at 22:18

3 Answers3

5

You can apply this piece of code inside the component of the input that you want to change the alert:

htmlInput.oninvalid = function(e) {
    e.target.setCustomValidity("Here is your text!");
};

Also here is an example of use in a component:

componentDidMount(){
    var htmlInput = document.getElementById("id");
    htmlInput.oninvalid = function(e) {
        e.target.setCustomValidity("This can't be left blank!");
    };
}
  • If the inputs are empty, you get stuck in validation. It is necessary to clean them after the `oninvalid`: `htmlInput.oninput = function(e) { e.target.setCustomValidity(' '); };` – Zkk Feb 28 '19 at 16:11
4
i managed to solve this like this
onInvalid={F => F.target.setCustomValidity('Enter User Name Here')} 
onInput={F => F.target.setCustomValidity('')} 
  • 2
    Please add external resources (e.g. official docs) to prove the validity of your answer. – jasie Aug 24 '22 at 11:02
0

None of these answeres helped me, this is easiest way Just add this in your props ex:

  onInvalid={e => e.target.setCustomValidity("Code is required")}
abdel
  • 1