Formatting and validating of fields

Is there a way to format and validate the fields directly without any addons or 3rd party solutions.

validations and formatting MM/DD/YYYY (dates) - ###-###-#### (phone) ###-##-#### (SSN) email

If so kindly let me know how can we do that.

If you set the field data type to date, phone or email you will get the default formatting and validation for those which will work for most people.  You will have to write a little logic to validate SSN but you would NOT need an add on to do it.  At some point I'll have to do something like that only I'll take it further insuring that the SSN is not only in the correct format but is actually a number that could have been issued.  For example, 999-12-1234 is the correct format but an SSN starting with 999 is not valid.
cutz thanks
But being novice with this framework, its not making me easy to develop things on fly. 
I've tried as you mentioned but as you mentioned there is nothing as default stuff happening.

To my surprise, even in my wildest dreams I never could have developed such a horrible design which I cannot control till date...

Do we have anything more promising and straight forward just to do some basic things.
Based on your screen image you have declared all those field as text which is why you are not getting any default functionality.  Just change the date of birth field so that it has a data type of Date.  You should immediately see that the date field now has to pass validation when the form is submitted.  If that doesn't work for you, save your code as an OML file (File - Export - Save As) and post it and I'm sure I or someone else can figure it out.

Have you spent any time viewing the video tutorials?  Taking the time to do that will save a lot of the frustration you might encounter trying things without guidance.  No different than learning anything new.

Hope this helps,
Well this is what I have  defined, but somehow very simple things to do is way too complex and very time consuming.

I've attached the Screenshot to show you that the datatype is date itself. So is the case with all the fields but somehow.
@Curt : Very sorry to disappoint, but I have been following the video tutorials which gets me more frustuated.

Reasons behind is that being a cloud based there is nothing that we can do as a click n go... might be I'm wrong, thats why I'm asking expert opions from this forum :) 

I have good news and bad news for you Kayala.  The bad news is that you have created a large number of screens and functions in your OML but haven't used any of the Outsystems built-in capabilties that make the types of things you are experiencing non-existant for most developers.  The other bad news is that I can't send you back a 'fixed' OML file because I am on version 9 and it is not backword compatible with your version 8.

The good news is that what you want to do is very easy in Outsystems.  What you created in your OML is typical of what someone creating standard HTML forms might do.  You created a form field, Borrower_DateOfBirth and assumed that because it sort of has the same name as the entity attibute that it might pick up that functionality.  You are correct that the entity attribute DateOfBirth in the entity Borrower has a Date data type but there is no link between that field and the HTML field you created that happens to have a similar name.

Had you viewed and understood the video tutorials, you would have found information about how to use the edit widget, which allows you to tie HTML fields directly to data in an entity.  I was able to create the functionality you require in a few seconds using this built-in widget.  Similar results would occur for your other fields.  Using the widget also eliminates most of the logic you wrote to determine what to do when the submit button is pressed.  The entity is automatically updated using the widget, once it passes validation.  No coding required.

So, I would recommend the following.

1) Go through the videos again - especially the ones that show how to view and edit entity data.  (Look at how basic CRUD screens are created automatically.)
2) Start with a fresh module, copy and paste the Borrower entity and use the edit widget (or others) to implement this simple functionality - veiwing and editing records in a table using the built in widgets, no custom logic.
3) Once you are comfortable with that you can rework what you were doing in the original OML

It's unfortunate that you spent so much time on this but the rework will be much faster and will show you the power of the platform.

Hope this helps,
You are exactly right in what you are saying... This platform doesnt even allow to do a basic stuff robustly... 
The screen which you are seeing is just 10% of the real application, and taking ages to finish one screen and we we were able to do complete ground up application in other platforms within 3 weeks 100%.

I somehow not able to accept the whole lot of things inside... might be I'm way too messy in understanding this framework.

Is there a way whereby we can create the entire screen in core say HTML5 / CSS and import directly... Coz that word prepration makes me nervous 
The reason it is taking ages to finish is that you are not leveraging the capabilities of the platform.  It's like pushing your car because you didn't take the time to learn how to start the engine.  If you create the whole thing in HTML5/CSS there would be no reason to import that into Outsystems as you've defeated the reason for using the platform in the first place.

It challenging learning a new way of doing this whether its Outsystems, Visual Studio, Eclipse or anything else.  If you really want to take advantage of all the benefits of the platform, you have to learn how to use it properly.  If you cannot do that for any reason, than you need to look at something else, though you'll have to learn that too.

Good luck!
exactly Curt

We are trying to re-do the application which was primarily built on Salesforce and we were very successful in creating the same using python and also a complete working version in PHP 

All I'm trying is to duplicate the application which is working 100% as we are trying to see the capabilities of the platform as you rightly said...