Commit 6d5bb4f8 authored by Matthew Taylor's avatar Matthew Taylor

Add `maxLength` validations where needed

fixes #835
parent 5001d3a1
...@@ -333,6 +333,14 @@ module.exports = { ...@@ -333,6 +333,14 @@ module.exports = {
<div className="gender-input"> <div className="gender-input">
<Input name="user.genderOther" <Input name="user.genderOther"
type="text" type="text"
validations={{
maxLength: 25
}}
validationErrors={{
maxLength: formatMessage({
id: 'registration.validationMaxLength'
})
}}
disabled={this.state.otherDisabled} disabled={this.state.otherDisabled}
required={!this.state.otherDisabled} required={!this.state.otherDisabled}
help={null} /> help={null} />
...@@ -376,10 +384,26 @@ module.exports = { ...@@ -376,10 +384,26 @@ module.exports = {
<Input label={formatMessage({id: 'teacherRegistration.firstName'})} <Input label={formatMessage({id: 'teacherRegistration.firstName'})}
type="text" type="text"
name="user.name.first" name="user.name.first"
validations={{
maxLength: 50
}}
validationErrors={{
maxLength: formatMessage({
id: 'registration.validationMaxLength'
})
}}
required /> required />
<Input label={formatMessage({id: 'teacherRegistration.lastName'})} <Input label={formatMessage({id: 'teacherRegistration.lastName'})}
type="text" type="text"
name="user.name.last" name="user.name.last"
validations={{
maxLength: 50
}}
validationErrors={{
maxLength: formatMessage({
id: 'registration.validationMaxLength'
})
}}
required /> required />
<NextStepButton waiting={this.props.waiting} <NextStepButton waiting={this.props.waiting}
text={<intl.FormattedMessage id="registration.nextStep" />} /> text={<intl.FormattedMessage id="registration.nextStep" />} />
...@@ -498,10 +522,26 @@ module.exports = { ...@@ -498,10 +522,26 @@ module.exports = {
<Input label={formatMessage({id: 'teacherRegistration.organization'})} <Input label={formatMessage({id: 'teacherRegistration.organization'})}
type="text" type="text"
name="organization.name" name="organization.name"
validations={{
maxLength: 50
}}
validationErrors={{
maxLength: formatMessage({
id: 'registration.validationMaxLength'
})
}}
required /> required />
<Input label={formatMessage({id: 'teacherRegistration.orgTitle'})} <Input label={formatMessage({id: 'teacherRegistration.orgTitle'})}
type="text" type="text"
name="organization.title" name="organization.title"
validations={{
maxLength: 50
}}
validationErrors={{
maxLength: formatMessage({
id: 'registration.validationMaxLength'
})
}}
required /> required />
<div className="organization-type"> <div className="organization-type">
<b><intl.FormattedMessage id="teacherRegistration.orgType" /></b> <b><intl.FormattedMessage id="teacherRegistration.orgType" /></b>
...@@ -517,6 +557,14 @@ module.exports = { ...@@ -517,6 +557,14 @@ module.exports = {
<div className="other-input"> <div className="other-input">
<Input type="text" <Input type="text"
name="organization.other" name="organization.other"
validations={{
maxLength: 50
}}
validationErrors={{
maxLength: formatMessage({
id: 'registration.validationMaxLength'
})
}}
disabled={this.state.otherDisabled} disabled={this.state.otherDisabled}
required="isFalse" required="isFalse"
placeholder={formatMessage({id: 'general.other'})} /> placeholder={formatMessage({id: 'general.other'})} />
...@@ -528,6 +576,14 @@ module.exports = { ...@@ -528,6 +576,14 @@ module.exports = {
</p> </p>
<Input type="url" <Input type="url"
name="organization.url" name="organization.url"
validations={{
maxLength: 200
}}
validationErrors={{
maxLength: formatMessage({
id: 'registration.validationMaxLength'
})
}}
required="isFalse" required="isFalse"
placeholder={'http://'} /> placeholder={'http://'} />
</div> </div>
...@@ -611,14 +667,38 @@ module.exports = { ...@@ -611,14 +667,38 @@ module.exports = {
<Input label={formatMessage({id: 'teacherRegistration.addressLine1'})} <Input label={formatMessage({id: 'teacherRegistration.addressLine1'})}
type="text" type="text"
name="address.line1" name="address.line1"
validations={{
maxLength: 100
}}
validationErrors={{
maxLength: formatMessage({
id: 'registration.validationMaxLength'
})
}}
required /> required />
<Input label={formatMessage({id: 'teacherRegistration.addressLine2'})} <Input label={formatMessage({id: 'teacherRegistration.addressLine2'})}
type="text" type="text"
name="address.line2" name="address.line2"
validations={{
maxLength: 100
}}
validationErrors={{
maxLength: formatMessage({
id: 'registration.validationMaxLength'
})
}}
required="isFalse" /> required="isFalse" />
<Input label={formatMessage({id: 'teacherRegistration.city'})} <Input label={formatMessage({id: 'teacherRegistration.city'})}
type="text" type="text"
name="address.city" name="address.city"
validations={{
maxLength: 50
}}
validationErrors={{
maxLength: formatMessage({
id: 'registration.validationMaxLength'
})
}}
required /> required />
{stateOptions.length > 2 ? {stateOptions.length > 2 ?
<Select label={formatMessage({id: 'teacherRegistration.stateProvince'})} <Select label={formatMessage({id: 'teacherRegistration.stateProvince'})}
...@@ -630,6 +710,14 @@ module.exports = { ...@@ -630,6 +710,14 @@ module.exports = {
<Input label={formatMessage({id: 'teacherRegistration.zipCode'})} <Input label={formatMessage({id: 'teacherRegistration.zipCode'})}
type="text" type="text"
name="address.zip" name="address.zip"
validations={{
maxLength: 10
}}
validationErrors={{
maxLength: formatMessage({
id: 'registration.validationMaxLength'
})
}}
required /> required />
<GeneralError name="all" /> <GeneralError name="all" />
<NextStepButton waiting={this.props.waiting || this.state.waiting} <NextStepButton waiting={this.props.waiting || this.state.waiting}
......
...@@ -139,6 +139,7 @@ ...@@ -139,6 +139,7 @@
"registration.studentUsernameFieldHelpText": "For safety, don't use your real name!", "registration.studentUsernameFieldHelpText": "For safety, don't use your real name!",
"registration.usernameStepTitle": "Request a Teacher Account", "registration.usernameStepTitle": "Request a Teacher Account",
"registration.usernameStepTitleScratcher": "Create a Scratch Account", "registration.usernameStepTitleScratcher": "Create a Scratch Account",
"registration.validationMaxLength": "Sorry, that is too many characters for us.",
"registration.validationPasswordLength": "Passwords must be at least six characters", "registration.validationPasswordLength": "Passwords must be at least six characters",
"registration.validationPasswordNotEquals": "Your password may not be \"password\"", "registration.validationPasswordNotEquals": "Your password may not be \"password\"",
"registration.validationPasswordNotUsername": "Your password may not be your username", "registration.validationPasswordNotUsername": "Your password may not be your username",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment