# Case insensitive exclusion\_of

**URL:** <https://www.ruby-forum.com/t/case-insensitive-exclusion-of/102300>\
**Category:** Rails\
**Created:** [August 14, 2006, 11:43pm UTC](https://www.ruby-forum.com/t/case-insensitive-exclusion-of/102300 "2006-08-14T23:43:46Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![jwm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/c37758/32.png) [@jwm](https://www.ruby-forum.com/u/jwm)\
**Post date:** [August 14, 2006, 11:43pm UTC](https://www.ruby-forum.com/t/case-insensitive-exclusion-of/102300/1 "2006-08-14T23:43:46Z")

</div>

I have the following validation code, however it will allow variations  
in case. Like ‘Admin’ and ‘admiN’, etc

validates\_exclusion\_of :login, :in =\> %w( admin ),  
:message =\> “is reserved for system accounts”

how can I make this validation case insensitive?

---

<div class="post-metadata">

**Author:** ![jwm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/c37758/32.png) [@jwm](https://www.ruby-forum.com/u/jwm)\
**Post date:** [August 15, 2006, 12:58am UTC](https://www.ruby-forum.com/t/case-insensitive-exclusion-of/102300/2 "2006-08-15T00:58:21Z")

</div>

Jonathon M. wrote:

> I have the following validation code, however it will allow variations  
> in case. Like ‘Admin’ and ‘admiN’, etc
> 
> validates\_exclusion\_of :login, :in =\> %w( admin ),  
> :message =\> “is reserved for system accounts”
> 
> how can I make this validation case insensitive?

This works

validates\_format\_of :login, :with =\>  
/^[^admin|administrator|root|sysadmin|superuser|moderator|support|god]$/i,  
:message =\> “is reserved for system accounts”

---

<div class="post-metadata">

**Author:** ![jwm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/c37758/32.png) [@jwm](https://www.ruby-forum.com/u/jwm)\
**Post date:** [August 15, 2006, 1:11am UTC](https://www.ruby-forum.com/t/case-insensitive-exclusion-of/102300/3 "2006-08-15T01:11:12Z")

</div>

Jonathon M. wrote:

> Jonathon M. wrote:
> 
> > I have the following validation code, however it will allow variations  
> > in case. Like ‘Admin’ and ‘admiN’, etc
> > 
> > validates\_exclusion\_of :login, :in =\> %w( admin ),  
> > :message =\> “is reserved for system accounts”
> > 
> > how can I make this validation case insensitive?
> 
> This works
> 
> validates\_format\_of :login, :with =\>  
> /^[^admin|administrator|root|sysadmin|superuser|moderator|support|god]$/i,  
> :message =\> “is reserved for system accounts”

sorry that does not work and I did not mean to post it.

---

<div class="post-metadata">

**Author:** ![jwm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/c37758/32.png) [@jwm](https://www.ruby-forum.com/u/jwm)\
**Post date:** [August 15, 2006, 2:20pm UTC](https://www.ruby-forum.com/t/case-insensitive-exclusion-of/102300/4 "2006-08-15T14:20:48Z")

</div>

On 14/08/06, Jonathon M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > > how can I make this validation case insensitive?

Technically, it doesn’t solve the problem, rather the code avoids it in  
the  
first instance.

users = %w( admin Admin admiN ).each(|element| element.downcase! }  
validates\_exclusion\_of :login, :in =\> users, :message =\> ‘is reserved  
for  
system accounts’
