screen_rotation
Copied to Clipboard
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="initial-scale=1, width=device-width" /> <title>My Page</title> <!-- Material-UI CSS --> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;600;700&display=swap" /> <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" /> <!-- React and Material-UI scripts --> <script src="https://unpkg.com/react@latest/umd/react.development.js" crossorigin="anonymous"></script> <script src="https://unpkg.com/react-dom@latest/umd/react-dom.development.js"></script> <script src="https://unpkg.com/@mui/material@latest/umd/material-ui.development.js" crossorigin="anonymous"></script> <!-- Babel for JSX --> <script src="https://unpkg.com/@babel/standalone@latest/babel.min.js" crossorigin="anonymous"></script> </head> <body> <div id="root"></div> <script type="text/babel"> const { useState } = React; function App() { const [text, setText] = useState(''); const [error, setError] = useState(false); const handleInputChange = (e) => { const inputText = e.target.value; const maxLength = 10; if (inputText.length <= maxLength) { setText(inputText); setError(false); } else { setError(true); } }; return ( <Container maxWidth="md" sx={{ boxShadow: 1, p: 2 }}> <Typography variant="h4" component="h1" gutterBottom> Material ui Set Max Length in MUI TextField </Typography> <TextField label="Max Length" value={text} onChange={handleInputChange} error={error} fullWidth helperText={error ? 'Text is too long' : ''} /> </Container> ); } </script> <script type="text/babel"> const { colors, CssBaseline, ThemeProvider, Typography, Container, createTheme, TextField } = MaterialUI; const theme = createTheme({ palette: { primary: { main: '#556cd6', }, secondary: { main: '#19857b', }, error: { main: colors.red.A400, }, }, }); const root = ReactDOM.createRoot(document.getElementById('root')); root.render( <ThemeProvider theme={theme}> <CssBaseline /> <App /> </ThemeProvider> ); </script> </body> </html>