0

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

1 Answers1

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