Formularios: noValidate en todos para usar red-response del sitio
Desactiva la validación nativa del navegador ("Rellene este campo", formato de
email) en el resto de formularios (recover, reset-password, trade-points,
rename-guild, transfer-dp, gold, promo, transfer, quest, send-gift, 2FA, restore).
Los errores se muestran como red-form-response (por validación en cliente o del
servidor), consistente con login y create-account. Botones ya gateados por campos.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -74,7 +74,7 @@ export function RecoverForm() {
|
||||
<>
|
||||
<p>{t('prompt')}</p>
|
||||
<br />
|
||||
<form onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<form noValidate onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<table className="middle-center-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
|
||||
@@ -44,7 +44,7 @@ export function ResetForm({ token }: { token: string }) {
|
||||
|
||||
return (
|
||||
<>
|
||||
<form onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<form noValidate onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<table className="middle-center-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
|
||||
@@ -44,7 +44,7 @@ export function GoldForm({ characters, options }: { characters: CharOption[]; op
|
||||
|
||||
return (
|
||||
<div className="centered">
|
||||
<form onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<form noValidate onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<CharacterSelect characters={characters} value={character} onChange={setCharacter} placeholder={t('selectCharacter')} />
|
||||
<br />
|
||||
<select value={amount} onChange={(e) => setAmount(e.target.value)} required>
|
||||
|
||||
@@ -60,7 +60,7 @@ export function PromoCodeForm() {
|
||||
return (
|
||||
<div className="centered">
|
||||
<br />
|
||||
<form onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<form noValidate onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<input
|
||||
type="text"
|
||||
maxLength={64}
|
||||
|
||||
@@ -132,7 +132,7 @@ export function QuestTrackerForm({ characters, options }: { characters: QuestCha
|
||||
|
||||
return (
|
||||
<div className="centered">
|
||||
<form id="uw-quest-form" onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<form noValidate id="uw-quest-form" onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<CharacterSelect characters={characters} value={character} onChange={onCharacter} placeholder={t('quest.selectPlaceholder')} />
|
||||
<br />
|
||||
<select value={option} onChange={(e) => setOption(e.target.value)} required disabled={!selected}>
|
||||
|
||||
@@ -80,7 +80,7 @@ export function RenameGuildForm({ guilds }: { guilds: GmGuild[] }) {
|
||||
|
||||
return (
|
||||
<div className="centered">
|
||||
<form id="uw-rename-guild-form" onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<form noValidate id="uw-rename-guild-form" onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<table className="middle-center-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
|
||||
@@ -78,7 +78,7 @@ export function RestoreCharacterForm({ characters }: { characters: DeletedCharac
|
||||
|
||||
return (
|
||||
<div className="centered">
|
||||
<form id="uw-restore-form" onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<form noValidate id="uw-restore-form" onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<select className={selectedCss} value={guid} onChange={(e) => setGuid(e.target.value)} required>
|
||||
<option value="" disabled>{t('restoreChar.selectPlaceholder')}</option>
|
||||
{characters.map((c) => (
|
||||
|
||||
@@ -153,7 +153,7 @@ export function SendGiftForm({
|
||||
|
||||
return (
|
||||
<div className="centered">
|
||||
<form onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<form noValidate onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<p>{t('sendGift.sourcePrompt')}</p>
|
||||
<CharacterSelect characters={characters} value={source} onChange={setSource} placeholder={t('sendGift.sourcePlaceholder')} />
|
||||
<br />
|
||||
|
||||
@@ -133,7 +133,7 @@ function SellForm({ characters, visible }: { characters: CharOption[]; visible:
|
||||
|
||||
return (
|
||||
<div id="trade-sell-div" style={{ display: visible ? 'block' : 'none' }}>
|
||||
<form onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<form noValidate onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<table className="middle-center-table">
|
||||
<tbody>
|
||||
<tr><td>{t('trade.sellPointsLabel')}</td></tr>
|
||||
@@ -240,7 +240,7 @@ function BuyForm({ characters, visible }: { characters: CharOption[]; visible: b
|
||||
|
||||
return (
|
||||
<div id="trade-buy-div" style={{ display: visible ? 'block' : 'none' }}>
|
||||
<form onSubmit={handleRedeem} acceptCharset="utf-8">
|
||||
<form noValidate onSubmit={handleRedeem} acceptCharset="utf-8">
|
||||
<table className="middle-center-table">
|
||||
<tbody>
|
||||
<tr><td>{t('trade.buyCodeLabel')}</td></tr>
|
||||
|
||||
@@ -89,7 +89,7 @@ export function TransferDPointsForm({ balance }: { balance: number }) {
|
||||
<br />
|
||||
<p className="yellow-info centered">{t('transferDp.available', { balance })}</p>
|
||||
<br />
|
||||
<form onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<form noValidate onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<input
|
||||
type="text"
|
||||
placeholder={t('transferDp.characterPlaceholder')}
|
||||
|
||||
@@ -86,7 +86,7 @@ export function TransferForm({ characters, price }: { characters: CharOption[];
|
||||
|
||||
return (
|
||||
<div className="centered">
|
||||
<form id="uw-transfer-character-form" onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<form noValidate id="uw-transfer-character-form" onSubmit={handleSubmit} acceptCharset="utf-8">
|
||||
<CharacterSelect characters={characters} value={character} onChange={setCharacter} placeholder={t('transfer.selectPlaceholder')} />
|
||||
<br />
|
||||
<input type="text" maxLength={32} placeholder={t('transfer.destinationPlaceholder')} value={destination} onChange={(e) => setDestination(e.target.value)} required />
|
||||
|
||||
@@ -101,7 +101,7 @@ function ActivateFlow() {
|
||||
|
||||
return (
|
||||
<>
|
||||
<form onSubmit={activate} id="uw-2fa-form">
|
||||
<form noValidate onSubmit={activate} id="uw-2fa-form">
|
||||
<table className="middle-center-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -182,7 +182,7 @@ function ActivateFlow() {
|
||||
<br />
|
||||
<br />
|
||||
<p>{t('twofa.step3')}</p>
|
||||
<form onSubmit={verify} id="uw-2fa-verify-form" autoComplete="off">
|
||||
<form noValidate onSubmit={verify} id="uw-2fa-verify-form" autoComplete="off">
|
||||
<table className="middle-center-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -255,7 +255,7 @@ function DisableForm() {
|
||||
<p className="green-info"><i className="fas fa-shield-alt"></i> {t('twofa.enabledNotice')}</p>
|
||||
<p>{t('twofa.disableInstruction')}</p>
|
||||
<br />
|
||||
<form onSubmit={disable} id="uw-2fa-disable-form">
|
||||
<form noValidate onSubmit={disable} id="uw-2fa-disable-form">
|
||||
<table className="middle-center-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
|
||||
Reference in New Issue
Block a user