Add centralized error messages and validation utils
Introduce errorMessages.js with i18n translation keys for all user-facing errors (form, connection, API) and validators.js with reusable validation functions that reference those keys. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
// Translation keys for all error messages.
|
||||
// Values must match the keys defined in src/locales/de/translation.json.
|
||||
// Callers pass these to t() — e.g. t(ERROR_MESSAGES.form.usernameRequired).
|
||||
|
||||
export const ERROR_MESSAGES = {
|
||||
form: {
|
||||
usernameRequired: 'error.form.usernameRequired',
|
||||
roomRequired: 'error.form.roomRequired',
|
||||
usernameAndRoomRequired: 'error.form.usernameAndRoomRequired',
|
||||
userIdRequired: 'error.form.userIdRequired',
|
||||
messageTextRequired: 'error.form.messageTextRequired',
|
||||
},
|
||||
connection: {
|
||||
failed: 'error.connection.failed',
|
||||
noActiveConnection: 'error.connection.noActiveConnection',
|
||||
interrupted: 'error.connection.interrupted',
|
||||
sendFailed: 'error.connection.sendFailed',
|
||||
},
|
||||
api: {
|
||||
joinFailed: 'error.api.joinFailed',
|
||||
noUserReturned: 'error.api.noUserReturned',
|
||||
snapshotFailed: 'error.api.snapshotFailed',
|
||||
leaveFailed: 'error.api.leaveFailed',
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
import { ERROR_MESSAGES } from '../constants/errorMessages'
|
||||
|
||||
export function validateRequired(value, message) {
|
||||
if (!value || !String(value).trim()) return message
|
||||
return null
|
||||
}
|
||||
|
||||
export function validateJoinForm(username, room) {
|
||||
if (!username.trim() || !room.trim()) {
|
||||
return ERROR_MESSAGES.form.usernameAndRoomRequired
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
export function validateUsername(username) {
|
||||
return validateRequired(username, ERROR_MESSAGES.form.usernameRequired)
|
||||
}
|
||||
|
||||
export function validateRoom(room) {
|
||||
return validateRequired(room, ERROR_MESSAGES.form.roomRequired)
|
||||
}
|
||||
|
||||
export function validateMessageText(text) {
|
||||
return validateRequired(text, ERROR_MESSAGES.form.messageTextRequired)
|
||||
}
|
||||
Reference in New Issue
Block a user